Patent Description:
Machines with rotating components are commonly used in industrial, commercial, and personal settings. As non-limiting examples, motors, engines, pumps, compressors, blowers, turbines, generators, and gearboxes are all commonplace at industrial facilities and in both residential and commercial machines. Friction caused by rotation of the rotating components eventually leads to failure. The ability to identify when a rotating component will fail is beneficial from a scheduling perspective. For example, it is beneficial to be able to perform maintenance or to schedule maintenance at effective times, such as during a time period where an output target can be achieved with the reduced availability of a particular machine due to maintenance. Additionally, the ability to identify the cause of a predicted machine failure is beneficial. For example, it may not be necessary to replace every rotating component of a machine when only a single rotating component of the machine is near the end of its operational life. As another example, it may not be necessary to replace any component of the machine when a predicted failure is due to an assembly issue, such as shaft misalignment.

Conventional methods of failure detection involve gathering vibration data corresponding to a machine and converting the vibration data to a frequency spectrum. A technician or engineer familiar with the history of a particular machine may be able to evaluate the frequency spectrum to identify when the machine is generating rotational energy that is atypical for normal operation. If the technician or engineer is also an expert in vibrational analysis, they may be able to identify a type of failure that is likely to occur at the machine. Thus, conventional methods of failure detection typically require experienced engineers, which are expensive and less common in today's working environment. Additionally, to detect failure modes at a machine, the engineer or a computer typically analyzes one or more narrow frequency windows in a frequency spectrum. When only a narrow frequency window is considered, some of the rotational energy generated by the machine at other frequencies is ignored, or rotational energy that is not detected at a target frequency but is within the frequency window is considered for failure detection. Thus, the accuracy of conventional failure detection techniques may be limited. State of the art monitoring systems are known from <CIT>, <CIT> and <CIT>.

A method, a computer program product and a device according to the invention are defined in independent claims <NUM>, <NUM> and <NUM>.

Aspects of the present disclosure provide systems, methods, apparatus, and computer-readable storage media that support automated detection of failure modes at rotating machinery. The techniques of the present disclosure may enable fast and accurate failure mode detection using vibration analysis. In some aspects, a system of the present disclosure may use vibration data from a sensor monitoring a machine (also referred to as a piece of machinery) to generate a frequency spectrum. The frequency spectrum is compared to predetermined frequency model(s) that are associated with (e.g., precursors to or indicative of) failure mode(s) at the machine. The predetermined frequency models may be generated based on analysis of vibration data, in the frequency domain, during failure modes at the machine (or multiple machines of the same machine type, such as engines, motors, pumps, or the like), and comparisons of the generated frequency spectrum to the predetermined frequency models may be used to determine similarity metrics, such as scores. By determining similarity metrics based on differences between the frequency spectrum and the predetermined frequency models, the system described herein may accurately detect failure modes at the machine without user input.

The present disclosure describes systems, methods, apparatus, and computer-readable media that provide benefits compared to conventional failure detection systems. For example, the systems described herein may have improved accuracy of predicted failure timelines and failure types due to comparing the frequency spectrum to the predetermined frequency models over an entire frequency range. Conventional failure detection may have reduced accuracy due to analyzing a narrow frequency window surrounding an amplitude peak. In contrast, the techniques described herein compare a frequency spectrum to an entirety of a predetermined model, which improves the accuracy of the failure mode detection. Additionally, the systems and methods of the present disclosure provide automated, real time failure mode detection to improve maintenance scheduling. For example, unexpected downtime of a machine used for product production may lead to unfulfilled orders due to an unexpected inability to make enough product. The automated, real time failure mode detection can eliminate unexpected downtime based on early and accurate predictions of rotating component failures within a machine, which may be useful in mitigating or preventing the failures through maintenance or replacement. As another example, identifying a specific failure mode may enable targeted maintenance to be performed, as compared to expensive and time consuming overhaul of the machine to address multiple potential problems.

The foregoing has outlined rather broadly the features and technical advantages of the present disclosure in order that the detailed description that follows may be better understood. Additional features and advantages will be described hereinafter which form the subject of the claims of the disclosure. It should be appreciated by those skilled in the art that the conception and specific aspects disclosed may be readily utilized as a basis for modifying or designing other structures for carrying out the same purposes of the present disclosure. The novel features which are disclosed herein, both as to organization and method of operation, together with further objects and advantages will be better understood from the following description when considered in connection with the accompanying figures. It is to be expressly understood, however, that each of the figures is provided for the purpose of illustration and description only and is not intended as a definition of the limits of the present disclosure.

For a more complete understanding of the present disclosure, reference is now made to the following descriptions taken in conjunction with the accompanying drawings, in which:.

It should be understood that the drawings are not necessarily to scale and that the disclosed aspects are sometimes illustrated diagrammatically and in partial views. In certain instances, details which are not necessary for an understanding of the disclosed methods and apparatuses or which render other details difficult to perceive may have been omitted. It should be understood, of course, that this disclosure is not limited to the particular aspects illustrated herein.

Aspects of the present disclosure provide systems, methods, apparatus, and computer-readable storage media that support automated detection of failure modes at rotating machinery. The techniques of the present disclosure enable fast and accurate detection of failure modes using vibration analysis. The systems described herein may improve accuracy of detected failure modes by comparing the frequency spectrum to the predetermined frequency models over an entire measured frequency range. Due to the improved accuracy of failure mode detection, the systems and methods of the present disclosure provide automated, real time failure mode detection for improving maintenance scheduling. For example, the automated, real time failure mode detection can eliminate unexpected downtime and enable targeted maintenance plans due to early and accurate predictions of rotating component failures within a machine.

Referring to <FIG>, an example of a system that supports detecting failure modes of machinery according to one or more aspects is shown as a system <NUM>. The system <NUM> is configured to detect failure modes for rotational machinery (e.g., machinery that includes rotating component(s)) by comparing frequency-domain transformed vibration data to stored frequency models (e.g., spectra) that correspond to different failure modes. The stored frequency models may be generated by an engineer that studies correlations between frequency spectra and failure modes or by the system <NUM> through analysis of frequency spectra that correspond to failure modes and to normal operation. As shown in <FIG>, the system <NUM> includes a computing device <NUM>, a machine <NUM>, one or more sensors <NUM>, a machine controller <NUM>, and a display device <NUM>, and one or more networks <NUM>. In some implementations, one or more of the display device <NUM> or the machine controller <NUM> may be optional, or the system <NUM> may include additional components.

The computing device <NUM> (e.g., an electronic device or a monitoring station) may include or correspond to a desktop computing device, a laptop computing device, a personal computing device, a tablet computing device, a mobile device (e.g., a smart phone, a tablet, a personal digital assistant (PDA), a wearable device, and the like), a server, a virtual reality (VR) device, an augmented reality (AR) device, an extended reality (XR) device, a vehicle (or a component thereof), an entertainment system, other computing devices, or a combination thereof, as non-limiting examples. The computing device <NUM> includes one or more processors <NUM>, a memory <NUM>, one or more communication interfaces <NUM>, and a vibration analysis engine <NUM>. The vibration analysis engine <NUM> may include a comparator <NUM> and a failure mode detector <NUM>. In some other implementations, one or more additional components may be included in the computing device <NUM>. It is noted that functionalities described with reference to the computing device <NUM> are provided for purposes of illustration, rather than by way of limitation and that the exemplary functionalities described herein may be provided via other types of computing resource deployments. For example, in some implementations, computing resources and functionality described in connection with the computing device <NUM> may be provided in a distributed system using multiple servers or other computing devices, or in a cloud-based system using computing resources and functionality provided by a cloud-based environment that is accessible over a network, such as the one of the one or more networks <NUM>. To illustrate, one or more operations described herein with reference to the computing device <NUM> may be performed by one or more servers or a cloud-based system that communicates with one or more control systems or user devices.

The one or more processors <NUM> may include one or more microcontrollers, application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), central processing units (CPUs) having one or more processing cores, or other circuitry and logic configured to facilitate the operations of the computing device <NUM> in accordance with aspects of the present disclosure. The memory <NUM> may include random access memory (RAM) devices, read only memory (ROM) devices, erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), one or more hard disk drives (HDDs), one or more solid state drives (SSDs), flash memory devices, network accessible storage (NAS) devices, or other memory devices configured to store data in a persistent or non-persistent state. Software configured to facilitate operations and functionality of the computing device <NUM> may be stored in the memory <NUM> as instructions <NUM> that, when executed by the one or more processors <NUM>, cause the one or more processors <NUM> to perform the operations described herein with respect to the computing device <NUM>, as described in more detail below. Additionally, the memory <NUM> may be configured to store data and information, such as one or more similarity metrics <NUM> (referred to herein as "the similarity metrics <NUM>"), one or more predetermined frequency models <NUM> (referred to herein as "the predetermined frequency models <NUM>"), an identified failure mode <NUM>, and measurement data <NUM>. Illustrative aspects of the predetermined frequency models <NUM>, the similarity metrics <NUM>, the identified failure mode <NUM>, and the measurement data <NUM> are described in more detail below.

The one or more communication interfaces <NUM> may be configured to communicatively couple the computing device <NUM> to the one or more networks <NUM> via wired or wireless communication links established according to one or more communication protocols or standards (e.g., an Ethernet protocol, a transmission control protocol/internet protocol (TCP/IP), an Institute of Electrical and Electronics Engineers (IEEE) <NUM> protocol, an IEEE <NUM> protocol, a 3rd Generation (<NUM>) communication standard, a 4th Generation (<NUM>)/long term evolution (LTE) communication standard, a 5th Generation (<NUM>) communication standard, Bluetooth, Zigbee, and the like). In some implementations, the computing device <NUM> includes one or more input/output (I/O) devices that include one or more display devices, a keyboard, a stylus, one or more touchscreens, a mouse, a trackpad, a microphone, a camera, one or more speakers, haptic feedback devices, or other types of devices that enable a user to receive information from or provide information to the computing device <NUM>. In some implementations, the computing device <NUM> is coupled to the display device <NUM>, such as a monitor, a display (e.g., a liquid crystal display (LCD) or the like), a touch screen, a projector, a virtual reality (VR) display, an augmented reality (AR) display, an extended reality (XR) display, or the like. In some other implementations, the display device <NUM> is included in or integrated in the computing device <NUM>.

The vibration analysis engine <NUM> is configured to receive vibration data from the sensors <NUM> and to convert the vibration data to a frequency domain and use the converted vibration data to detect a failure mode at the machine <NUM>. In some implementations, one or more operations described as being performed by the vibration analysis engine <NUM> may be performed by the comparator <NUM> or the failure mode detector <NUM>. To illustrate, the vibration analysis engine <NUM> may be configured to generate a frequency spectrum, as further described with reference to <FIG>, based on the vibration data. Generating the frequency spectrum may include converting the vibration data from the time domain to the frequency domain and pre-processing, such as modifying format or units of the vibration data, integrating vibration data from multiple sensors, aggregating the vibration data, and the like. In some implementations, the vibration analysis engine <NUM> may be configured to perform fast Fourier transform (FFT) on the vibration data to convert the vibration data from the time domain to the frequency domain, and to optionally perform spectrum averaging on the vibration data in the frequency domain (and/or perform averaging on the vibration data in the time domain prior to performing the FFT) to generate a respective frequency spectrum. The frequency spectrum may be generated for an entire measured frequency range, as further described herein, as compared to generating the frequency spectrum or a partial spectrum for one or more windows that span a smaller range that the entire measured frequency range.

The comparator <NUM> is configured to compare the frequency spectrum generated by the vibration analysis engine <NUM> to the one or more predetermined frequency models <NUM>. The one or more predetermined frequency models <NUM> may include or correspond to frequency spectra generated by or stored at the computing device <NUM> that are each associated with a respective failure mode of the machine <NUM>, as further described herein. For example, the one or more predetermined frequency models <NUM> may be one or more frequency spectra, frequency-domain vibration data indicative of one or more frequency spectra, or a combination thereof, that are expected to occur (e.g., expected to be measured) during a respective failure mode. Comparing the frequency spectrum to one of the predetermined frequency models <NUM> may include comparing one or more amplitude values of the frequency spectrum (or the frequency-domain vibration data) to one or more corresponding amplitude values of the predetermined frequency model. To illustrate, the comparator <NUM> may be configured to compare an amplitude of the frequency spectrum at a particular frequency associated with an amplitude peak in the frequency model to the amplitude peak. Additionally, or alternatively, sums of amplitudes, averages of amplitudes, or the like, may be compared to corresponding values from the predetermined frequency models <NUM>. According to the claimed invention, the difference between the amplitudes of the frequency spectrum and each of the predetermined frequency models <NUM> is used to determine the similarity metrics <NUM>. The similarity metrics <NUM> may include similarity scores, other similarity metrics, other values generated based on or derived from the frequency spectrum and the predetermined frequency models <NUM>, or a combination thereof. According to the claimed invention, for this failure mode, a similarity metric is calculated based on a weighted sum of the difference between amplitude values of the frequency spectrum and a predetermined frequency model at the (e.g., three) frequencies of interest, where each amplitude difference has a different respective weight based on the overall contribution of vibrations at the respective frequency to occurrence of the failure mode.

The failure mode detector <NUM> is configured to identify a failure mode (e.g., the identified failure mode <NUM>) based on the similarity metrics <NUM>. To illustrate, the failure mode detector <NUM> is configured to compare each of the similarity metrics <NUM> to a threshold, and for any similarity value that satisfies (e.g., is greater than, or greater than or equal to) the threshold, identify the predetermined frequency model that corresponds to the identified similarity values. Failure modes associated with these identified predetermined frequency values may be selected as the identified failure mode <NUM>, which may include a single failure mode if only a single similarity metric satisfies the threshold, or multiple failure modes if multiple similarity metrics satisfy the threshold. For example, if the predetermined frequency models <NUM> include a first model and a second model, and the similarity metric that corresponds to the second model satisfies the threshold, a particular failure mode associated with the second model is identified as the identified failure mode <NUM>.

The machine <NUM> may include or correspond to industrial machinery or any type of machine asset that is a rotating machine. As used herein, a "rotating machine" refers to any type of machine that includes at least one component that rotates during operation of the machine. For example, the machine <NUM> may include or correspond to a motor, a pump, a gearbox, or an engine, as non-limiting examples. The sensors <NUM> may include one or more sensors that are coupled to or otherwise positioned to measure vibrations and other measurements, such as temperature, power consumption, position, or the like. In some implementations, the sensors <NUM> include at least one accelerometer coupled to the machine <NUM>. The accelerometer may include a piezoelectric accelerometer or a microelectromechanical (MEM) accelerometer, as non-limiting examples. In some other implementations, the sensors <NUM> may include laser sensors. In some implementations, the sensors <NUM> may be Internet of Things (IoT) devices. The sensors <NUM> may be configured to measure vibrations of a rotating component of the machine <NUM>. In some implementations, the sensors <NUM> may be communicatively coupled to the one or more networks <NUM> to enable transmission of various measurement data, such as vibration data, to the computing device <NUM>. In some implementations, the sensors <NUM> may be positioned in an x, y, or z orientation on or near the machine <NUM> (or the rotating component). The sensors <NUM> may be coupled to the machine <NUM> (or the rotating component) using any technique, such as via screws, adhesive, or magnets, as non-limiting examples.

The machine controller <NUM> may include or correspond to a controller or control system for automated, or semi-automated, control of the machine <NUM>. For example, the machine controller <NUM> may include a processor and a memory, and the processor may execute instructions stored at the memory to perform the operations described herein, in addition to one or more motors, actuators, or other components to enable performance of operations. The machine controller <NUM> may initiate or control performance of one or more operations at, or one or more aspects of, the machine <NUM>. For example, the machine controller <NUM> may be configured to initiate operation of the machine <NUM>, terminate operation of the machine <NUM>, control a speed or amount of power provided to the machine <NUM>, initiate repair or reconfiguration of the machine <NUM>, other operations, or a combination thereof. Although shown in <FIG> as external to the machine <NUM>, in some other implementations, the machine controller <NUM> may be included or integrated within the machine <NUM>.

The display device <NUM> may be configured to display text, images, video content, multimedia content, AR content, VR content, XR content, or the like, related to monitoring of the machine <NUM>. As described above, the display device <NUM> may be external to the computing device <NUM>. For example, the display device <NUM> may be included in a monitoring station or platform associated with the machine <NUM>. Alternatively, the display device <NUM> may be included or integrated within the computing device <NUM>.

During operation of the system <NUM>, the sensors <NUM> may monitor the machine <NUM> (or one or more components thereof) to measure vibrations and generate vibration data <NUM>. The vibration data <NUM> may indicate vibration measurements over time (e.g., in the time domain). In some implementations, the sensors <NUM> may be configured to measure and generate additional sensor data with the vibration data <NUM>. The sensors <NUM> may provide the vibration data <NUM> to the computing device <NUM>, such as via the one or more networks <NUM>.

The computing device <NUM> may receive the vibration data <NUM> from the sensors <NUM> and may generate a frequency spectrum based on the vibration data <NUM>. For example, the vibration analysis engine <NUM> may convert the vibration data <NUM> from the time domain to the frequency domain to generate the frequency spectrum. An illustrative frequency spectrum is shown in <FIG>. In some implementations, generating the frequency spectrum includes pre-processing the vibration data <NUM>, performing averaging on the vibration data <NUM>, performing FFT on the vibration data <NUM>, performing spectrum averaging (also referred to as spectral averaging) on the vibration data <NUM> in the frequency domain, or a combination thereof. In some implementations, converting the vibration data <NUM> to the frequency domain may result in spectra in multiple different channels, and the spectra for the multiple channels may be combined (e.g., averaged) using the spectrum averaging. In some other implementations, the computing device <NUM> may receive the frequency spectrum, which may be generated by a different device.

After generating the frequency spectrum, the comparator <NUM> determines the similarity metrics <NUM> based on the frequency spectrum and the predetermined frequency models <NUM>. The predetermined frequency models <NUM> include pre-generated frequency spectra (or data representative thereof) that correspond to potential failure modes of the machine <NUM>. For example, the pre-generated (e.g., predetermined) frequency spectra may include spectra of amplitude (e.g., vibration strength) across a measured frequency range that are expected during occurrence of, or as a precursor to, various failure modes of the machine <NUM>. The predetermined frequency models <NUM> may be generated based on user input or based on automated analysis of the machine <NUM> (or similar machines). For example, an engineer may input information representing one or more known frequency spectra associated with one or more failure modes, or the computing device <NUM> may process historic vibration data during normal operation of the machine <NUM> and during the one or more failure modes to determine the predetermined frequency models <NUM>. Each of the predetermined frequency models <NUM> corresponds to a failure mode of the machine <NUM>. In some implementations, each of the predetermined frequency models <NUM> may correspond to a different respective failure mode. In some other implementations, more than one of the predetermined frequency models <NUM> may correspond to the same failure mode (e.g., there may be multiple frequency responses that indicate occurrence of a particular failure mode). The failure modes may include any type of known failure that may occur for rotating machines (or rotating components), such as an unbalanced condition, a misalignment, a rolling element bearing fault, looseness, stator eccentricity, rotor eccentricity, broken rotor bars, oil whirl in journal bearings, a hydraulic fault, an aerodynamic fault, a surge, or a combination thereof, as non-limiting examples. As an illustrative example, a particular predetermined frequency model may include or correspond to a frequency spectrum having amplitude peaks at <NUM> and <NUM> Hertz (Hz) and may be associated with a bent shaft in a motor.

In some implementations, the computing device <NUM> (e.g., the vibration analysis engine <NUM>) may select the predetermined frequency models <NUM> from a group of predetermined frequency models that are associated with multiple different machines (or types of machines). For example, a database (e.g., data source) accessible via the one or more networks <NUM> (or the memory <NUM>) may store multiple groups of predetermined frequency models, each group of predetermined frequency model associated with a different machine type (or a different particular machine). The predetermined frequency models <NUM> (e.g., a group of the multiple groups) may be selected based on the predetermined frequency models <NUM> all being associated with the same machine type as the machine <NUM>. For example, if the machine <NUM> is an engine, the predetermined frequency models <NUM> may be the group of predetermined frequency models that correspond to engines. Alternatively, the predetermined frequency models <NUM> may be specific to the machine <NUM>, and may be selected based on an identifier of the machine <NUM>. Additionally or alternatively, the predetermined frequency models <NUM> may be selected in another manner, such as based on user input. Using different frequency models for different types of machines may reduce processing resource use at the computing device <NUM> as compared to using one set of frequency models for all machines.

In some other implementations, the predetermined frequency models <NUM> are machine type (or machine) agnostic, and may be based on analysis of the particular failure modes across multiple different types of machines. In some such implementations, the computing device <NUM> (e.g., the vibration analysis engine <NUM>) may modify the predetermined frequency models <NUM> prior to use in determining the similarity metrics <NUM>. For example, the vibration analysis engine <NUM> may modify the predetermined frequency models <NUM> based on measurement data <NUM> associated with the machine <NUM> to adapt the predetermined frequency models <NUM> to the specific operating characteristics of the machine <NUM>. For example, the measurement data <NUM> may include rotation speed, shaft diameter, bearing diameter, number of bearings, size of tracks, environmental noise, and the like, and the predetermined frequency models <NUM> may be adjusted based on the measurement data, such as by modifying amplitudes, shifting particular frequencies, flattening or narrowing curves, or the like. Using one set of frequency models for all types of machines may reduce a memory footprint for frequency models as compared to using a different set of frequency models for each machine type (or each individual machine).

To illustrate determination of the similarity metrics <NUM>, the comparator <NUM> may compare the frequency spectrum to each of the predetermined frequency models <NUM>. For example, the comparator <NUM> may compare amplitudes at particular frequencies (e.g., frequency-specific amplitude values) between the frequency spectrum and the predetermined frequency models <NUM> to determine differences in amplitude between the frequency spectrum and the predetermined frequency models <NUM>. The similarity metrics <NUM> may be equal to, or based on, the differences. In some implementations, the particular frequencies may be particular measured frequencies for rotating parts, such as a ball spin frequency (BSF), a fundamental train frequency (FTF), a ball pass frequency of an outer ring (BPFO), a ball pass frequency of an inner ring (BPFI), or the like. Others of the similarity metrics <NUM> may be determined as described above based on comparisons between the frequency spectrum and the others of the predetermined frequency models <NUM>.

To determine the similarity metrics <NUM>, the comparator <NUM> may compare the frequency spectrum to the predetermined frequency models <NUM> over an entirety of a measured frequency range associated with the predetermined frequency models <NUM>. To illustrate, if the predetermined frequency models <NUM> include relevant data, including multiple amplitude peaks, across a particular frequency range, then the frequency spectrum generated based on the vibration data <NUM> is generated for an entirety of the particular frequency range, and not just a window (e.g., a portion of the particular frequency range) around an amplitude peak. As a non-limiting example, if a predetermined frequency model includes amplitude peaks at <NUM>, <NUM>, and <NUM>, and substantially null values beyond <NUM>, then the frequency spectrum may be generated for a frequency range of <NUM>-<NUM>, instead of for a <NUM> or <NUM> window around one of the amplitude peaks. Additional examples are described with reference to <FIG>. Comparing the frequency spectrum and the predetermined frequency models <NUM> across the entirety of the measured frequency range may improve the accuracy of failure mode detection provided by the system <NUM>, as compared to detecting failures by analyzing a small window around a particular amplitude peak.

After generating similarity metrics <NUM>, the failure mode detector <NUM> identifies the identified failure mode <NUM> based on the similarity metrics <NUM>. The failure mode detector <NUM> compares each of the similarity metrics <NUM> to a threshold (not shown) that may be stored at the memory <NUM>. Each similarity metric of the similarity metrics <NUM> that satisfies the threshold corresponds to a failure mode that is detected based on the frequency spectrum. For example, if the similarity metrics <NUM> include five similarity metrics that correspond, respectively, to one of five predetermined frequency models and the third similarity metric satisfies the threshold, the failure mode that corresponds to the third predetermined frequency model is identified as the identified failure mode <NUM>. As an illustrative example, if the first predetermined frequency model corresponds to an unbalanced condition, the second predetermined frequency model corresponds to a misalignment condition, the third predetermined frequency model corresponds to a looseness of a rotor, the fourth predetermined frequency model corresponds to stator eccentricity, and the fifth predetermined frequency model corresponds to a broken rotor bar, if the third similarity metric satisfies the threshold, the identified failure mode <NUM> is looseness of the rotor. Although described as a single identified failure mode <NUM>, multiple failure modes may be identified, if multiple failure modes are capable of occurring concurrently. In some implementations, (e.g., the vibration analysis engine <NUM>) may modify the predetermined frequency models <NUM> prior to use in determining the similarity metrics <NUM>. For example, the vibration analysis engine <NUM> may modify the predetermined frequency models <NUM> based on measurement data <NUM> associated with the machine <NUM> to adapt the predetermined frequency models <NUM> to the specific operating characteristics of the machine <NUM>. For example, the measurement data <NUM> may include rotation speed, shaft diameter, bearing diameter, number of bearings, size of tracks, environmental noise, and the like, and the predetermined frequency models <NUM> may be adjusted based on the measurement data, such as by modifying amplitudes, shifting particular frequencies, flattening or narrowing curves, or the like. Using one set of frequency models for all types of machines may reduce a memory footprint for frequency models as compared to using a different set of frequency models for each machine type (or each individual machine).

After generating similarity metrics <NUM>, the failure mode detector <NUM> identifies the identified failure mode <NUM> based on the similarity metrics <NUM>. Each similarity metric of the similarity metrics <NUM> that satisfies the threshold corresponds to a failure mode that is detected based on the frequency spectrum. For example, if the similarity metrics <NUM> include five similarity metrics that correspond, respectively, to one of five predetermined frequency models and the third similarity metric satisfies the threshold, the failure mode that corresponds to the third predetermined frequency model is identified as the identified failure mode <NUM>. As an illustrative example, if the first predetermined frequency model corresponds to an unbalanced condition, the second predetermined frequency model corresponds to a misalignment condition, the third predetermined frequency model corresponds to a looseness of a rotor, the fourth predetermined frequency model corresponds to stator eccentricity, and the fifth predetermined frequency model corresponds to a broken rotor bar, if the third similarity metric satisfies the threshold, the identified failure mode <NUM> is looseness of the rotor. Although described as a single identified failure mode <NUM>, multiple failure modes may be identified, if multiple failure modes are capable of occurring concurrently. In some implementations, identification of the identified failure mode <NUM> may be performed in real-time/substantially real-time (e.g., accounting for processing needs of the various aspects being utilized). For example, determination of the similarity metrics <NUM>, comparison of the similarity metrics <NUM> to the threshold, and identification of the identified failure mode <NUM> may involve relatively few processing operations that are capable of performance for use in real-time/substantially real-time applications, as further described below.

After detecting the identified failure mode <NUM>, the computing device <NUM> generates an output <NUM> that indicates the identified failure mode <NUM>. The output <NUM> may be provided to a user, such as via the display device <NUM> or a user device, or to another device, such as the machine controller <NUM>. As an example, the output <NUM> may be provided to the display device <NUM> to cause display of a graphic user interface (GUI) at the display device <NUM>. The GUI may indicate the identified failure mode <NUM> and, optionally, additional information. For example, the GUI may include the name of identified failure mode <NUM>, information associated with the identified failure mode <NUM> (e.g., expected improper performance or the like), a graphical depiction of the frequency spectrum based on the vibration data <NUM>, a graphical depiction of a time domain vibration waveform, a graphical depiction of the particular frequency model of the predetermined frequency models <NUM> that corresponds to the identified failure mode <NUM>, the similarity metric of the similarity metrics <NUM> that corresponds to the particular frequency model, the threshold, or a combination thereof.

As another example, the output <NUM> may include or correspond to an alert or command <NUM>. The alert or command <NUM> may include an alert that indicates the identified failure mode <NUM> and an identifier of the machine <NUM>. For example, the alert may include a visual alert, an audio alert, a haptic alert (any of which may be output by the computing device <NUM> or the display device <NUM>, the machine controller <NUM>, or a user device of a worker at the site of the machine <NUM>) another type of alert, or a combination thereof, to indicate that maintenance or stopping of the machine <NUM> is suggested or required. Additionally or alternatively, the alert or command <NUM> may include a command to initiate performance of a maintenance action with respect to the machine <NUM> to mitigate the identified failure mode <NUM>. To illustrate, the alert or command <NUM> may be provided to the machine controller <NUM>, and the machine controller <NUM> may initiate performance of the maintenance action at the machine <NUM>. As an illustrative example, the alert or command <NUM> may include a command to slow a rotation of, or stop, the machine <NUM>, and the machine controller <NUM> may cause an axel (or other rotating part) of the machine <NUM> to slow or stop based on the alert or command <NUM>. As another illustrative example, the machine controller <NUM> may be configured to control one or more robots or robotic components (e.g., a robotic arm or the like), and the machine controller <NUM> may cause the robot or robotic component to replace the machine <NUM> (or a component thereof) based on receipt of the alert of command <NUM>.

In some implementations, in addition to detecting the identified failure mode <NUM>, the vibration analysis engine <NUM> may track a particular amplitude peak of the frequency spectrum over time. For example, if, based on a comparison of a particular amplitude peak of the frequency spectrum to the corresponding amplitude peak of one of the predetermined frequency models <NUM>, the associated similarity metric satisfies the threshold, the vibration analysis engine <NUM> may track the amplitude peak using future vibration data. Tracking the amplitude peak may provide useful information for monitoring or maintaining the machine <NUM>. For example, if the predetermined frequency model corresponds to a precursor state (e.g., a state that occurs before a failure mode), the amplitude peak may be tracked to determine whether the failure mode actually occurs, or whether the precursor state does not lead to the failure mode. As another example, if a maintenance action is performed with respect to the machine <NUM> based on the comparison indicating a failure mode, the amplitude peak may be tracked to determine if the amplitude decreases after performance of the maintenance action, and the machine <NUM> exits the failure mode due to the maintenance action.

As described above, the system <NUM> supports automated failure mode detection for rotating machines using vibration analysis having improved accuracy as compared to conventional, mostly human-based failure detection techniques. For example, the system <NUM> may identify the identified failure mode <NUM> by comparing a frequency spectrum based on the vibration data <NUM> to the predetermined frequency models <NUM> over an entire frequency range. By using the predetermined frequency models <NUM> and comparing over the entire frequency range, the identified failure mode <NUM> is detected with improved accuracy as compared to other failure detection techniques that include using peak detection on frequency domain vibration data. To illustrate, peaks at adjacent frequencies in a frequency spectrum may combine to form a single, wider peak, which results in a larger amount of energy being detected using a peak detector and narrow window, which increases the number of false positive failure mode detections in conventional failure mode detection. Additionally, the system <NUM> provides automated, real time failure mode detection to improve maintenance scheduling. For example, unexpected downtime of the machine <NUM> may lead to unfulfilled orders due to an unexpected inability to make enough product using the machine <NUM>. The system <NUM> may eliminate unexpected downtime based on early and accurate predictions of rotating component failures within the machine <NUM>, which may be useful in mitigating or preventing the failures through maintenance or replacement at the machine <NUM>. Additionally, detecting failure modes based on the vibration data <NUM> may enable detection of failure modes for interior components of the machine <NUM>, which would otherwise require downtime for removal and manual inspection.

Referring to <FIG>, an example of a system that supports alert generation based on vibrational analysis according to one or more aspects is shown as a system <NUM>. The system <NUM> may be configured to generate alerts when failure modes are detected for multiple machinery assets. The machinery assets may include different rotating machines, such as engines, motors, pumps, gearboxes, or the like. In some implementations, the system <NUM> (or one or more components thereof) may include or correspond to the system <NUM> (or one or more components thereof) of <FIG>. As shown in <FIG>, the system <NUM> includes a time domain to frequency domain converter <NUM> (referred to herein as "the converter <NUM>"), a vibration analyzer <NUM>, and multiple status generators <NUM>. The system <NUM> may receive, as input, vibration data such as a waveform input <NUM> or a spectrum input <NUM>. The waveform input <NUM> may include vibration data in the time domain corresponding to the machinery assets. The spectrum input <NUM> may include vibration data in the frequency domain corresponding to the machinery assets.

The converter <NUM> may be configured to receive the waveform input <NUM>. The waveform input <NUM> may be communicated to the converter <NUM> via one or more networks. In some implementations, the waveform input <NUM> communicated to the converter <NUM> may be measured by one or more sensors that each correspond to an axis of a machine. The one or more sensors may be coupled to the machine and configured to gather the waveform input <NUM> over time. In some implementations, the one or more sensors are coupled to a rotating component of the machine. The waveform input <NUM> measured by the one or more sensors may be in the time domain and the converter <NUM> may be configured to convert the waveform input <NUM> from the time domain to the frequency domain. The converter <NUM> may perform one or more FFTs on the waveform input <NUM> to convert the waveform input <NUM> from the time domain to the frequency domain. In some implementations, the converter <NUM> may perform spectrum averaging on the waveform input <NUM> in the frequency domain to generate a respective frequency spectrum, perform averaging on the vibration data in the time domain, or both. The frequency spectrum (e.g., based on the waveform input <NUM>) may be provided to the vibration analyzer <NUM>. Alternatively, the spectrum input <NUM> may be received from an external source and provided directly to the vibration analyzer <NUM>. The spectrum input <NUM> may include frequency-domain representations of vibrations, which may be generated or converted by the external source. When the spectrum input <NUM> is provided, the converter <NUM> is not needed.

The vibration analyzer <NUM> is configured to analyze the frequency domain vibration data in order to determine similarity metrics indicating similarities of the input vibration data to predetermined frequency models. The vibration analyzer <NUM> includes a model fitter/preprocessor <NUM> and multiple predetermined frequency models <NUM>. The model fitter/pre-processor <NUM> may perform pre-processing operations to the waveform input <NUM>. For example, the waveform input <NUM> may include vibration data from multiple sensors and the model fitter/preprocessor <NUM> may integrate and aggregate the vibration data from the multiple sensors. As another example, the model fitter/pre-processor <NUM> may modify the format, the units, or a combination thereof, of the waveform input <NUM> to match a format and units of the predetermined frequency models <NUM>.

The resultant frequency spectrum is compared to the predetermined frequency models <NUM> to generate the similarity metrics. The predetermined frequency models <NUM> may include vibration data in the frequency domain that corresponds to various operating conditions of a particular machine, such as normal operating condition, one or more failure modes, or a combination thereof. For example, a first predetermined frequency model <NUM> may correspond to a particular failure mode (e.g., a faulty bearing) of a particular engine and an Nth predetermined frequency model <NUM> may correspond to a faulty bearing for a particular pump. In some implementations, the predetermined frequency models <NUM> may be based on industry standard failure modes. Each of the predetermined frequency models <NUM> may represent a frequency spectrum that includes one or more amplitude peaks at particular frequencies, and these particular frequencies may be different across the predetermined frequency models <NUM> based on differences between the machines to which each model corresponds (e.g., a particular failure mode may be associated with different frequency models for different machines). For example, the first predetermined frequency model <NUM> and the Nth predetermined frequency model <NUM> may each correspond to a faulty bearing; however, the two predetermined frequency models <NUM>, <NUM> may not be the same (e.g., an amplitude peak of the first predetermined frequency model <NUM> may be located at a different frequency than the corresponding amplitude peak of the Nth predetermined frequency model <NUM>). In some implementations, the predetermined frequency models <NUM> may be stored and accessed to compare received vibration data corresponding to a particular machine to the predetermined frequency model corresponding to that particular machine. Although each of the predetermined frequency models <NUM> are described as corresponding to the same failure mode, the predetermined frequency models <NUM> may also include frequency models for multiple different failure modes, such that the predetermined frequency models <NUM> include one or more respective models (for one or more failure modes) for each different machine.

In some implementations, the vibration analyzer <NUM> may receive, or have pre-stored, the predetermined frequency models <NUM> that correspond to multiple different machines (and optionally multiple different failure modes). Alternatively, the vibration analyzer <NUM> may generate the predetermined frequency models <NUM> based on a single frequency model for the respective failure mode. For example, the single frequency model may be a single model that is machine agnostic (e.g., may correspond to all machines of a particular type) and may be modified to account for specific characteristics of a particular machine (e.g., to generate one of multiple machine-specific frequency models) based on measurements and parameters associated with the particular machine. To illustrate, the vibration analyzer <NUM> may modify the machine agnostic predetermined frequency model based on machine specific measurements for multiple different machines to generate the predetermined frequency models <NUM>. For example, based on rotation speed, shaft diameter, bearing diameter, number of bearings, and the like, for a first machine (e.g., a particular engine), the vibration analyzer <NUM> may generate the first predetermined frequency model <NUM> corresponding to the first machine. Frequency models for other machines may be similarly generated based on respective measurements and parameters associated with the other machines. This process may also be referred to as a calibration process (e.g., calibrating the frequency models based on the machines).

Based on the comparison of frequency spectra generated based on the waveform input <NUM> to the predetermined frequency models <NUM>, the vibration analyzer <NUM> may determine similarity metrics. Each similarity metric may indicate a similarity between the frequency spectrum and a predetermined frequency model.

Comparisons over the entire measured frequency range may enable better discrimination between contributions to amplitude of a particular frequency-specific cause and contributions from different harmonics, which may enable more precise comparison of the frequency spectra and the predetermined frequency models <NUM> than comparisons for only a small frequency window surrounding an amplitude peak. In some implementations, a higher similarity metric indicates a greater degree of similarity between the frequency spectrum and the predetermined frequency model to which the frequency spectrum is compared, which may be indicative of the frequency spectrum being sufficiently similar to a frequency spectrum that represents (or is observed to occur during) a respective failure mode. Additional details of the comparison are described herein with reference to <FIG>.

The similarity metrics may be provided to the status generators <NUM>, which are configured to output statuses <NUM> based on the similarity metrics. Each of the status generators <NUM> may be associated with a particular machine, and the statuses <NUM> may include alerts, normal operating status notifications, and the like. Each of the status generators <NUM> may be configured to compare a received similarity metric to a threshold. For any similarity metric that satisfies (e.g., is greater than, or greater than or equal to) the threshold, the status generators <NUM> may output an alert as the respective status. For example, if the similarity metric provided to a first status generator <NUM> satisfies the threshold, the first status generator <NUM> may output an alert <NUM>. As non-limiting examples, the alert <NUM> may be visual, audio, haptic, or the like. In some implementations, the alert <NUM> may include an indication of the failure mode corresponding to the alert <NUM> (e.g., a failure mode associated with the first predetermined frequency model <NUM>). The alert may be used to initiate a mitigation plan, such as performing replacement or maintenance actions, to reduce downtime of the respective machine. As another example, if the similarity metric provided to an Nth status generator <NUM> does not satisfy the threshold, the Nth status generator <NUM> may output a normal operating status notification <NUM> ("OK" in <FIG>). In some implementations, each of the status generators <NUM> may compare received similarity metrics to a common threshold. Alternatively, one or more of the status generators <NUM> may compare received similarity metrics to a machine specific threshold. For example, a particular machine may have a lower threshold than other machines (e.g., an alert is provided based on less vibration) if the particular machine does not have backup, if failure of the particular machine will cause failure of multiple downstream components, if the particular machine is highly sensitive, or for other reasons. Although shown as each status generator outputting a single status, in other implementations, each of the status generators <NUM> may receive multiple similarity metrics corresponding to multiple failure modes, and each of the status generators <NUM> may output multiple statuses (e.g., failure mode-specific statuses) or a single status indicating whether any failure mode is detected.

Referring to <FIG>, examples <NUM> of a frequency spectrum based on vibration data and a predetermined frequency model according to one or more aspects are shown. The examples <NUM> include a predetermined frequency model <NUM> and a frequency spectrum <NUM>. In some implementations, the predetermined frequency model <NUM> may include or correspond to one of the predetermined frequency models <NUM> of <FIG>, and the frequency spectrum <NUM> may be generated based on the vibration data <NUM> of <FIG>.

The predetermined frequency model <NUM> shows vibration data in the frequency domain (e.g., an envelope of the vibrations across a measured frequency range) corresponding to a failure mode for a machine. As a non-limiting example, the predetermined frequency model <NUM> may be a frequency spectrum of vibrations that are known (or measured) to occur as a precursor to, or during, a misalignment of an engine. The predetermined frequency model <NUM> may include multiple amplitude peaks at particular frequencies, such as a first amplitude value <NUM> at a first frequency <NUM> ("f1"), a second amplitude value <NUM> at a second frequency <NUM> ("f2"), and a third amplitude value <NUM> at a third frequency <NUM> ("f3"). The frequency spectrum <NUM> shows vibration data in the frequency domain obtained from one or more sensors, such as an accelerometer, configured to measure vibrations from a machine. The vibration data may be obtained in the time domain and converted to the frequency domain, as further described above with reference to <FIG> and <FIG>. The frequency spectrum <NUM> may include multiple amplitude peaks at particular frequencies, such as a fourth amplitude value <NUM> at the first frequency <NUM>, a fifth amplitude value <NUM> at the second frequency <NUM>, and a sixth amplitude value <NUM> at the third frequency <NUM>.

The predetermined frequency model <NUM> may correspond to an operating condition of a machine. In some implementations, the predetermined frequency model <NUM> may be derived from experimental or historical data of the machine. The operating condition may correspond to a normal operating condition or a failure mode, such as a misalignment, an issue with a ball bearing, or the like. For example, the presence of amplitude peaks at the particular frequencies shown in <FIG> may correspond to a faulty bearing of a particular engine. Although the predetermined frequency model <NUM> is described as corresponding to a faulty bearing of a particular engine, in other implementations, the predetermined frequency model <NUM> may correspond to other machines, including but not limited to a pump or a turbine. Additionally or alternatively, the predetermined frequency model <NUM> may correspond to other failure modes, including but not limited to misalignment or broken rotor bars.

The frequency spectrum <NUM> may correspond to measured vibrations of the machine. In some implementations, the frequency spectrum <NUM> may be based on measurements received from sensors configured to measure vibration of the machine. The amplitude of the frequency spectrum <NUM> may be compared to the amplitude values of the predetermined frequency model <NUM> at particular frequencies across an entirety of the measured frequency range associated with the predetermined frequency model <NUM> (e.g., from <NUM> to frequency "f4" in the example illustrated in <FIG>). For example, amplitudes at particular frequencies (e.g., frequency-specific amplitude values) between the predetermined frequency model <NUM> and the frequency spectrum <NUM> may be compared to determine differences in amplitude. The comparison of the predetermined frequency model <NUM> to the frequency spectrum <NUM> may be at specific frequencies associated with amplitude peaks in the predetermined frequency model <NUM> over the entirety of a frequency range associated with the predetermined frequency model <NUM>.

A similarity metric may equal to, or based on, the differences from the comparison of the predetermined frequency model <NUM> to the frequency spectrum <NUM>. For example, the first amplitude value <NUM> of the predetermined frequency model <NUM> at the first frequency <NUM> may be compared to the fourth amplitude value <NUM> of the frequency spectrum <NUM> at the first frequency <NUM> (e.g., at the same frequency). A first similarity metric comparing the predetermined frequency model <NUM> and the frequency spectrum <NUM> may be set to a difference between the first amplitude value <NUM> and the fourth amplitude value <NUM>. For example, the first similarity metric may be calculated based on the formula Ampf1(model) - Ampf1(input), where Ampf1() is the amplitude value (e.g., a peak amplitude) at the first frequency <NUM> ("f1") for the selected model or input spectrum. Alternatively, the first similarity metric may be set to a difference between the second amplitude value <NUM> and the fifth amplitude value <NUM>, a difference between the third amplitude value <NUM> and the sixth amplitude value <NUM>, a sum of the differences, an average of the differences, or the like. As illustrative examples, the first similarity metric may be calculated based on average[(Ampf1(model) - Ampf1(input)) + (Ampf2(model) - Ampf2(input)) + (Ampf3(model) - Ampf3(input))] or based on w1 * (Ampf1(model) - Ampf1(input)) + w2 * (Ampf2(model) - Ampf2(input)) + w3 * (Ampf3(model) - Ampf3(input)), where w1-w3 are weights based on contributions of vibrations at the various frequencies to occurrence of the respective failure mode. Although three amplitude comparisons are described, some implementations may involve more or less than three amplitude comparisons. In this manner, amplitude values at frequencies across the entire measured frequency range (e.g., <NUM> to f4) may be compared between the predetermined frequency model <NUM> and the frequency spectrum <NUM>, which may improve accuracy of failure detection based on the comparison, as opposed to determining an amplitude within a narrow frequency window of the frequency spectrum <NUM>.

Additionally, particular amplitude values of the frequency spectrum <NUM> may be tracked over time. For example, based on the fourth amplitude value <NUM> being located at a particular frequency (e.g., the first frequency <NUM>) that is associated with an amplitude peak of the predetermined frequency model <NUM>, the fourth amplitude value <NUM> may be tracked over time. Tracking the fourth amplitude value <NUM> over time may include tracking the fourth amplitude value <NUM> as it shifts in frequency, as the amplitude value increases or decreases, or the like. Tracking the fourth amplitude value <NUM> over time may indicate whether a maintenance action causes the machine to transition out of the failure mode, whether a severity of the failure mode increases, or other useful information.

Referring to <FIG>, a flow diagram of an example of a method for detecting failure modes of machinery according to one or more aspects is shown as a method <NUM>. In some implementations, the operations of the method <NUM> may be stored as instructions that, when executed by one or more processors (e.g., the one or more processors of a monitoring device or a server), cause the one or more processors to perform the operations of the method <NUM>. In some implementations, the method <NUM> may be performed by a computing device, such as the computing device <NUM> of <FIG> (e.g., a computing device for detecting failure modes of a rotating machine).

The method <NUM> includes obtaining a frequency spectrum associated with vibrations of a rotating machine, at <NUM>. For example, the one or more processors <NUM> of <FIG> may generate a frequency spectrum based on the vibration data <NUM> of <FIG> (or the frequency spectrum may be received from an external source), and the rotating machine may include or correspond to the machine <NUM> of <FIG>.

The method <NUM> includes determining one or more similarity metrics based on comparing the frequency spectrum to one or more predetermined frequency models, each of the one or more predetermined frequency models associated with a respective failure mode, at <NUM>. For example, the one or more similarity metrics may include or correspond to the similarity metrics <NUM> of <FIG> and the one or more predetermined frequency models may include or correspond to the predetermined frequency models <NUM> of <FIG>. The method <NUM> includes identifying a failure mode associated with a predetermined frequency model corresponding to a similarity metric that satisfies a threshold, at <NUM>. For example, the failure mode may include or correspond to the identified failure mode <NUM> of <FIG>, the predetermined frequency model may include or correspond to one of the predetermined frequency models <NUM> of <FIG>, and the similarity metric may include or correspond to one of the similarity metrics <NUM> of <FIG>. The method <NUM> further includes outputting an indication of the identified failure mode, at <NUM>. For example, the indication may include or correspond to the output <NUM> of <FIG>.

In some implementations, determining a first similarity metric of the one or more similarity metrics may include comparing the frequency spectrum to a first predetermined frequency model over an entirety of a measured frequency range associated with the first predetermined frequency model. For example, the frequency spectrum <NUM> may be compared to the predetermined frequency model <NUM> over an entire measured frequency range of the predetermined frequency model <NUM>, as further described with reference to <FIG>. In some such implementations, determining the first similarity metric may include determining the first similarity metric based on a difference between one or more frequency-specific amplitude values indicated by the first predetermined frequency model and one or more corresponding frequency-specific amplitude values indicated by the frequency spectrum. For example, a first similarity metric may be based at least on a difference between a first amplitude value <NUM> of the predetermined frequency model <NUM> at a first frequency <NUM> and a fourth amplitude value <NUM> of the frequency spectrum <NUM> at the first frequency <NUM>.

In some implementations, outputting the indication of the identified failure mode may include outputting an alert that indicates the identified failure mode and an identifier of the rotating machine. For example, the alert may include or correspond to the alert or command <NUM> of <FIG>. Additionally or alternatively, outputting the indication of the identified failure mode may include initiating display of a graphic user interface (GUI) that includes the identified failure mode, the frequency spectrum, a vibration waveform corresponding to the frequency spectrum, the predetermined frequency model corresponding to the similarity metric that satisfies the threshold, the similarity metric that satisfies the threshold, or a combination thereof. For example, the output <NUM> may be provided to the display device <NUM> of <FIG> to enable display of a GUI at the display device <NUM>.

In some implementations, outputting the indication of the identified failure mode may include initiating performance of a maintenance action associated with mitigating the identified failure mode. For example, the alert or command <NUM> of <FIG> (e.g., a command) may be provided to the machine controller <NUM> to cause execution of the maintenance action. Additionally or alternatively, the method <NUM> may further include tracking a particular amplitude peak of the frequency spectrum over time based on the particular amplitude peak corresponding to an amplitude peak indicated by at least one of the one or more predetermined frequency models. For example, the fourth amplitude value <NUM> of the frequency spectrum <NUM> of <FIG> may be tracked over time based on the fourth amplitude value <NUM> being located at the frequency at which an amplitude peak of the predetermined frequency model <NUM> is located.

In some implementations, the method <NUM> may further include modifying the one or more predetermined frequency models based on one or more measurements associated with the rotational machine. For example, the one or more measurements associated with the rotational machine may include or correspond to the measurement data <NUM> of <FIG>. Additionally or alternatively, the method <NUM> may further include selecting the one or more predetermined frequency models from a plurality of predetermined frequency models associated with a plurality of rotational machines. For example, the predetermined frequency models <NUM> of <FIG> may be selected from multiple predetermined frequency models (e.g., stored at the memory <NUM> or accessible to the computing device <NUM>) associated with multiple machines.

In some implementations, the failure modes associated with the one or more predetermined frequency models may include an unbalanced condition, a misalignment, a rolling element bearing fault, looseness, stator eccentricity, rotor eccentricity, broken rotor bars, oil whirl in journal bearings, a hydraulic fault, an aerodynamic fault, a surge, or a combination thereof, as described with reference to <FIG>. Additionally or alternatively, the rotating machine may include a motor, a pump, a gearbox, or an engine, as described with reference to <FIG>.

In some implementations, obtaining the frequency spectrum includes receiving vibration data from one or more sensors configured to measure the vibrations of the rotating machine and generating the frequency spectrum based on the vibration data. For example, the vibration data may include or correspond to the vibration data <NUM> of <FIG>, and the one or more sensors may include or correspond to the sensor <NUM> of <FIG>. In some such implementations, the one or more sensors may include an accelerometer coupled to the rotating machine. For example, the accelerometer may include or correspond to the sensor <NUM> of <FIG>. Additionally or alternatively, generating the frequency spectrum may include averaging the vibration data in the time domain, performing a fast Fourier transform (FFT) on the vibration data to convert the vibration data from the time domain to the frequency domain, performing spectrum averaging on the frequency spectrum, or a combination thereof. For example, the vibration analysis engine <NUM> of <FIG> may perform the FFT on the vibration data <NUM> and the spectrum averaging on the frequency-converted vibration data. In some other implementations, obtaining the frequency spectrum may include receiving the frequency spectrum (e.g., from an external source).

As described above, the method <NUM> supports automated failure mode detection for rotating machines using vibration analysis. The method <NUM> may enable failure mode detection with improved accuracy as compared to conventional, mostly human-based failure detection techniques. For example, the method <NUM> may detect a failure mode by comparing a frequency spectrum based on vibration data to predetermined frequency models, which may better discriminate between vibrations that are associated with a failure mode than conventional techniques using peak detection and narrow frequency window analysis.

It is noted that other types of devices and functionality may be provided according to aspects of the present disclosure and discussion of specific devices and functionality herein have been provided for purposes of illustration, rather than by way of limitation. It is noted that the operations of the method <NUM> of <FIG> may be performed in any order, or that operations of one method may be performed during performance of another method. It is also noted that the method <NUM> of <FIG> may also include other functionality or operations consistent with the description of the operations of the system <NUM> of <FIG> or the system <NUM> of <FIG>.

Components, the functional blocks, and the modules described herein with respect to <FIG>) include processors, electronics devices, hardware devices, electronics components, logical circuits, memories, software codes, firmware codes, among other examples, or any combination thereof. In addition, features discussed herein may be implemented via specialized processor circuitry, via executable instructions, or combinations thereof.

The various illustrative logics, logical blocks, modules, circuits, and algorithm processes described in connection with the implementations disclosed herein may be implemented as electronic hardware, computer software, or combinations of both.

The hardware and data processing apparatus used to implement the various illustrative logics, logical blocks, modules, and circuits described in connection with the aspects disclosed herein may be implemented or performed with a general purpose single- or multi-chip processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. In some implementations, a processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. In some implementations, particular processes and methods may be performed by circuitry that is specific to a given function.

In one or more aspects, the functions described may be implemented in hardware, digital electronic circuitry, computer software, firmware, including the structures disclosed in this specification and their structural equivalents thereof, or any combination thereof. Implementations of the subject matter described in this specification also may be implemented as one or more computer programs, that is one or more modules of computer program instructions, encoded on a computer storage media for execution by, or to control the operation of, data processing apparatus.

Computer-readable media includes both computer storage media and communication media including any medium that may be enabled to transfer a computer program from one place to another. By way of example, and not limitation, such computer-readable media can include random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that may be used to store desired program code in the form of instructions or data structures and that may be accessed by a computer. Also, any connection may be properly termed a computer-readable medium. Disk and disc, as used herein, includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk, hard disk, solid state disk, and Blu-ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.

Certain features that are described in this specification in the context of separate implementations also may be implemented in combination in a single implementation. Conversely, various features that are described in the context of a single implementation also may be implemented in multiple implementations separately or in any suitable subcombination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination may in some cases be excised from the combination, and the claimed combination may be directed to a subcombination or variation of a subcombination.

Further, the drawings may schematically depict one more example processes in the form of a flow diagram. However, other operations that are not depicted may be incorporated in the example processes that are schematically illustrated. For example, one or more additional operations may be performed before, after, simultaneously, or between any of the illustrated operations. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems may generally be integrated together in a single software product or packaged into multiple software products. Additionally, some other implementations are within the scope of the following claims. In some cases, the actions recited in the claims may be performed in a different order and still achieve desirable results.

As used herein, including in the claims, various terminology is for the purpose of describing particular implementations only and is not intended to be limiting of implementations. For example, as used herein, an ordinal term (e.g., "first," "second," "third," etc.) used to modify an element, such as a structure, a component, an operation, etc., does not by itself indicate any priority or order of the element with respect to another element, but rather merely distinguishes the element from another element having a same name (but for use of the ordinal term). The term "coupled" is defined as connected, although not necessarily directly, and not necessarily mechanically; two items that are "coupled" may be unitary with each other. the term "or," when used in a list of two or more items, means that any one of the listed items may be employed by itself, or any combination of two or more of the listed items may be employed. For example, if a composition is described as containing components A, B, or C, the composition may contain A alone; B alone; C alone; A and B in combination; A and C in combination; B and C in combination; or A, B, and C in combination. Also, as used herein, including in the claims, "or" as used in a list of items prefaced by "at least one of" indicates a disjunctive list such that, for example, a list of "at least one of A, B, or C" means A or B or C or AB or AC or BC or ABC (that is A and B and C) or any of these in any combination thereof. The term "substantially" is defined as largely but not necessarily wholly what is specified - and includes what is specified; e.g., substantially <NUM> degrees includes <NUM> degrees and substantially parallel includes parallel - as understood by a person of ordinary skill in the art. In any disclosed aspect, the term "substantially" may be substituted with "within [a percentage] of" what is specified, where the percentage includes <NUM>, <NUM>, <NUM>, and <NUM> percent; and the term "approximately" may be substituted with "within <NUM> percent of" what is specified. The phrase "and/or" means and or.

Claim 1:
A method (<NUM>) for detecting failure modes of machinery, the method comprising:
obtaining (<NUM>), by one or more processors, a frequency spectrum (<NUM>) associated with vibrations of a rotating machine;
determining (<NUM>), by the one or more processors, one or more similarity metrics (<NUM>) based on comparing the frequency spectrum (<NUM>) to one or more predetermined frequency models (<NUM>), each of the one or more predetermined frequency models (<NUM>) associated with a respective failure mode;
comparing each of the similarity metrics (<NUM>) to a threshold and identifying (<NUM>), by the one or more processors, a failure mode associated with a predetermined frequency model (<NUM>) corresponding to a similarity metric that satisfies the threshold; and
outputting (<NUM>), by the one or more processors, an indication of the identified failure mode,
characterized in that the similarity metric is determined based on a weighted sum of the difference between amplitude values of the frequency spectrum (<NUM>) and a predetermined frequency model (<NUM>) at multiple frequencies of interest, where each amplitude difference has a different respective weight based on the overall contribution of vibrations at the respective frequency to occurrence of the respective failure mode.