GMM for Fault Detection in Harmonic Drives
The Gaussian Mixture Model (GMM) enhances anomaly detection in robot operations by aligning and differencing time-series data, providing early warnings of performance degradation, thus preventing component failures.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-08-05
- Publication Date
- 2026-03-10
AI Technical Summary
Existing anomaly detection methods in robot operations fail to detect early stages of performance degradation, as they rely on significant deviations that may not be present in repetitive but slightly varying motions, leading to component failures.
A Gaussian Mixture Model (GMM) is employed to analyze time-series data from robot operations, aligning and differencing it against a reference, calculating log-sum likelihoods to identify anomalies through statistical deviations from normal performance.
The GMM-based method provides early warnings of component degradation, allowing for proactive maintenance before significant failures occur, improving detection by several days compared to conventional methods.
Smart Images

Figure 2026041661000001_ABST
Abstract
Description
[Technical Field]
[0001] The present disclosure relates generally to a method for anomaly detection in time series data, and more particularly to a method for anomaly detection that collects time series data for multiple parameters of machine operation, aligns and differs the data against a known suitable reference data file, and uses a Gaussian Mixture Model (GMM) with a log sum calculation to determine the likelihood that the time series data file contains normal data. [Background technology]
[0002] Anomaly detection is a broad class of computational analysis in which some type of input data sample is analyzed to determine whether the data sample represents a normal or abnormal condition. The data sample can be an image of a part, in which case the analysis determines whether the part is normal or abnormal, or the data sample can be time-series data from an operation, in which case the analysis determines whether an operational condition is normal or abnormal.
[0003] Industrial robots are used in many types of operations, including processing applications such as laser welding and painting, and material transfer applications such as picking parts from a conveyor and placing them in a second location, such as a compartmentalized bin. In many of these applications, the robot repeatedly performs similar operations, although the operations may not be exactly the same from one travel trajectory to the next. Summary of the Invention [Problem to be solved by the invention]
[0004] Modern robots include sensor devices and data analysis algorithms that are employed to determine if and when a robot component has failed or is in a degraded state. However, in many cases, the detection devices and software systems may only detect a problem after it has progressed to a significant degree.
[0005] Furthermore, because many robots perform a variety of motions that are similar but may not be identical, it is not possible to simply evaluate the parameter data and look for arbitrarily small changes in values from one motion to the next, as seemingly rather small changes in tool center point trajectory or acceleration profile can have large effects on joint loads and accelerations.
[0006] Considering the above situation, improved methods are needed for anomaly detection from time-series input data, where the initial stages of performance degradation can be difficult to detect using existing techniques. [Means for solving the problem]
[0007] The following disclosure describes a method and system for anomaly detection from time-series input data. A Gaussian mixture model (GMM) learns distribution parameters in an offline learning phase, where sample data is used for learning. The data used for offline learning and the subsequent online anomaly detection phase is time-series data collected for multiple parameters of a machine operation, such as a set of repetitive movements performed by a robot. The method includes aligning and subtracting the data from a known suitable reference data file before providing the data to the GMM. In the online anomaly detection phase, the GMM calculates the probability that each time-series data point fits the distribution, and a log-sum calculation is then performed on each complete time-series data file to determine the likelihood that the file contains normal data. File log-likelihoods are compared against previous values, and an alarm is issued when the file log-likelihood is statistically different from past data.
[0008] Further features of the present disclosure will become apparent from the following description and appended claims, taken in conjunction with the accompanying drawings. [Brief explanation of the drawings]
[0009] [Figure 1] FIG. 1 is an illustration of an industrial robot performing a set of repetitive tasks, along with a display of data collected during robot operation, as used in the techniques of this disclosure. [Figure 2] FIG. 2 is an illustration of a block diagram of an anomaly detection system including an offline learning section that learns distribution parameters so that a Gaussian mixture model fits sample data, and an online anomaly detection section that employs a Gaussian mixture model, according to an embodiment of the present disclosure. [Figure 3] FIG. 3 is an illustrative flowchart diagram of a method for preprocessing time series data files for anomaly detection using Gaussian mixture models as depicted in FIG. 2 according to an embodiment of the present disclosure. [Figure 4] FIG. 4 is an illustrative flowchart diagram of a method for determining a likelihood value for a time series data file using the Gaussian mixture model of FIG. 2, where the likelihood value indicates whether the data file is nominal or anomalous, according to an embodiment of the present disclosure. [Figure 5] FIG. 5 is a flowchart diagram of a method for anomaly detection in time series data including using a Gaussian mixture model applied to pre-processed data with subsequent analytical calculations according to an embodiment of the present disclosure. DETAILED DESCRIPTION OF THE INVENTION
[0010] The following description of embodiments of the present disclosure directed to methods for anomaly detection in time series data using Gaussian mixture models is merely exemplary in nature and is in no way intended to limit the techniques of the present disclosure or the applications or uses of such techniques.
[0011] FIG. 1 is an illustration of an industrial robot, as used in the techniques of this disclosure, performing a set of repetitive tasks, along with a display of data collected during robot operation. Robot 100 is a typical multi-axis articulated robot commonly used in industrial applications. Robot 100 has a set of arm links interconnected by rotary joints with joint motors, such as servo motors with harmonic drive® gearing. The operation depicted in FIG. 1 is a part transfer or placement application, in which robot 100 includes gripper 102, which grasps and moves workpiece 110 from one location to another. Workpiece 110 is shown at another location near the robot tool center simply to illustrate workpiece movement to multiple locations. Controller 120 controls the operation of robot 100 in a known manner, including issuing joint movement commands designed to move the tool center point (gripper 102) through a prescribed motion profile.
[0012] In a scenario described throughout this disclosure, the robot 100 repeatedly performs a similar set of operations. The operations may include moving workpieces 110 from a fixed starting location to various compartments of a container for transport, with each trajectory being slightly different depending on the spatial location of the compartment in which the workpiece is placed. Another example is when all of the operations have the exact same spatial trajectory, but the velocity and acceleration profiles differ from one operation to the next, e.g., the time allotted to complete each operation differs. In both of these examples, anomaly detection in time series data is difficult because, although the trajectories are all similar, the exact values of the joint torques and operations are not the same from one operation to the next.
[0013] In addition to controlling the robot 100, the controller 120 also collects data during robot operation. Table 130 depicts the data collection framework for the above-described scenario. The robot 100 repeatedly performs a set of 15 operations labeled OP01 through OP15. A time-series data file is recorded for each of the 15 operations, once per two-hour time window. The robot is known to be in good operating condition at the first data collection window (i.e., t=2 hours); for example, the robot 100 may have just entered service when it was new or immediately after a service overhaul. The known good condition of the robot 100 is indicated by a check mark at the bottom of the first column of table 130. After hundreds of operating hours (e.g., at t=970 hours), robot sensors indicate a malfunction of a component, such as a harmonic drive component in a highly loaded joint. This detected malfunction triggers a shutdown of the robot 100 for repair. Detected component failures are indicated by a circled x at the bottom of the last column of table 130.
[0014] Analysis of robot components after malfunctions indicates that malfunctioning components often undergo a period of degradation before eventual malfunction. Unfortunately, this period of degradation is difficult or impossible to detect using conventional robot performance sensors, and even existing anomaly detection methods. The techniques of the present disclosure have been developed to provide advanced detection of anomalies at the early stages of the onset of degradation so that repairs can be made before other components in the robot are damaged or the performance of the robot's operations is adversely affected.
[0015] 1 depicts data collection for a multi-axis industrial robot, examples of which are described throughout this disclosure, however, the techniques of this disclosure are applicable to time series data from any type of machine, not just industrial robots.
[0016] 2 is an illustration of a block diagram of an anomaly detection system including an offline training section that trains distribution parameters for a Gaussian mixture model (GMM) to fit sample data, and an online anomaly detection section that employs a Gaussian mixture model, according to an embodiment of the present disclosure. The offline training block 200 is used to train the GMM distribution parameters based on sample time series data that is known to represent good performance by a robot (e.g., the robot 100 depicted in FIG. 1).
[0017] The input data files 210 each contain time-series data for a robot parameter as initially described above. In one non-limiting example, each data file 210 contains data collected at 250 Hz for a 2.0-second duration (thus, each file contains 500 data points). In this same example, data is collected for three different robot parameters during each 2-second data collection event, which is applied to each of 15 operations (OP01-OP15), once every two-hour period. Further details of the data file contents and specific robot parameters are provided below.
[0018] For each of the input data files 210, a time series alignment to the reference data file is performed in box 220. The time series alignment combines or adds consecutive data points as necessary to mitigate any temporal misalignment of data points between the current input data file and the stored reference file. In a preferred embodiment, the stored reference file is recorded at the start of the robot's service window, such as t=2 hours in table 130 of FIG. 1, when the robot is known to be in new or like-new condition and in good operating condition with respect to all components. A reference file is recorded for each of the parameters included in the input data files 210. For example, if three different parameters (such as torque at the joints and position-related parameters) are measured and provided in the data files 210, a reference file is recorded and stored for each of the three parameters.
[0019] In box 230, a differencing operation is performed between each of the input data files 210 and the corresponding reference data file. After time series alignment, differencing allows point-to-point differences from the comparison to be used for GMM purposes, rather than the magnitude of the measured data, where differencing provides greater sensitivity in anomaly detection. The time series alignment and differencing steps are further described with respect to the following figures.
[0020] A GMM 240 is provided to learn its Gaussian distribution parameters based on the training sample data contained in the data file 210. The GMM 240 is configured with a predetermined number of Gaussian distributions (e.g., 3, 5, or 10), and in the offline training block 200, the GMM 240 learns the mean and standard deviation of each of the Gaussian distributions that best fits the training sample data in the input data file 210.
[0021] The exact details of the input data files 210 used in the offline training block 200 can be determined as appropriate for a particular implementation. For example, the first 100 data files (i.e., the first 100 data files from a two-hour time window) may be deemed suitable and used for GMM training. Also, not all 15 movements need to be used for GMM training; for example, only 8 or 10 of the 15 movements could be used for GMM training, and the resulting GMM Gaussian distribution parameters would still accurately reflect the parameter data from all 15 movements by the robot.
[0022] After the offline training block 200, an online anomaly detection block 250 is employed. Operational data files 260 containing time series data for each of three parameters for 15 operations (OP01-OP15) are provided, typically one at a time. The operational data files 260 have the same format as the input data file 210 described above, where the input data file 210 is from the robot's first operations after being placed in service (e.g., the first 100 time series files for each parameter considered to represent a good operational state), and the operational data file 260 is from the robot's ongoing operations after initial GMM training. The goal of the disclosed technique is to detect anomalies in the operational data files 260.
[0023] Time series alignment to a reference data file occurs in box 270, and differencing from the reference data file occurs in box 280. The time series alignment and differencing calculations in online anomaly detection block 250 are the same as those in offline GMM training block 200, and are described further below.
[0024] After learning the Gaussian distribution parameters of the GMM 240 in the offline training block 200, the GMM 240 is identified as the GMM 290 and used in the online anomaly detection block 250. For each data point in each of the operational data files 260, the GMM 290 calculates the probability that the data point fits the distribution data contained in the GMM 290. In the alarm calculation box 298, a calculation is then performed for each of the operational data files 260, in which the logarithms of the probability values for each of the points in the data file (e.g., 500 points) are summed and the resulting sum (known as the file log-likelihood) is compared to the previous data point. The GMM probability calculation and file log-likelihood calculation and analysis are described in detail below with respect to FIG. 4.
[0025] In the system depicted in FIG. 2 , a single GMM 240 is provided to learn Gaussian distribution parameters in the offline training block 200, and the single trained GMM 290 is used in the online anomaly detection block 250. The GMM 290 embodies the statistical distribution of all of the measured motion parameters and all of the different motions (e.g., 15). In one non-limiting embodiment, three different robot joint parameters are measured for each of the 15 motions in each measurement window. The three joint parameters were selected based on the joint parameter's ability to identify variation from one motion to the next and its corresponding ability to predict anomalies when analyzed using the GMM. In this exemplary implementation, the three parameters include the joint torque command (the controller command torque for a particular robot joint, such as the first horizontal axis joint in the robot 100 of FIG. 1 ), the disturbance torque (the difference between the command torque and the total actual torque), and the error (the difference between the desired position and the actual position). In the exemplary embodiment, all three parameters are recorded for the same robot joint. In other implementations, data from different joints and / or different parameters may be recorded.
[0026] Figure 3 is an illustrative flowchart diagram 300 of a method for preprocessing time series data files for anomaly detection using Gaussian mixture models as depicted in Figure 2, according to an embodiment of the present disclosure. Figure 3 depicts the time series alignment step (boxes 220 and 270) and the differencing step (boxes 230 and 280) of Figure 2.
[0027] As shown in graph 310 and described above, a reference time series data file is first provided. The reference file in graph 310 contains time series data for parameters of an operation (e.g., OP01) from very early in the robot's life cycle, when the robot is known to function properly and the parameters reflect normal operation. FIG. 3 depicts the method steps and data flow for one parameter (e.g., torque command) for one robot operation. It should be understood that the reference file also includes data for each other parameter (e.g., the other two if three parameters are measured), and reference files are provided for many, if not all, of the other operations (e.g., OP02-OP10). In a preferred embodiment, the reference data file includes data for all parameters and all time steps for one operation. That is, the reference data file may have dimensions of 3 x 500. Again, for reasons of visual clarity, only one parameter is shown in the graph of FIG. 3.
[0028] Graph 320 plots the new time series data file along with the reference data file, where slight differences can be seen. The new time series data file shown in graph 320 is for the same joint parameters (e.g., torque command) and the same motion (e.g., OP01) as the reference data file shown in graph 310. Again, each new time series data file has the same dimensions (e.g., 3 x 500) as the reference data file. The new time series data file is one of the input data files 210 used for training in the offline GMM learning block 200, and the new time series data file is one of the motion data files 260 in the online anomaly detection block 250.
[0029] In box 330, a time series alignment operation is performed to temporally align the new time series data file with the reference data file. For example, if the new time series data file is shifted by one or two data points (earlier or later) compared to the reference data file, the alignment operation adjusts the new file so that it is synchronized with the reference data file, thereby avoiding measurement differences at all points. Similarly, multiple points may be combined or duplicated elsewhere in the time series data to maintain optimal synchronization of the new data file with the reference data file. Time series data alignment techniques are known in the art, and at least one such technique, such as dynamic time warping, is used in the alignment in box 330.
[0030] Graph 340 plots the new aligned data file (the output of box 330) along with the reference file. Comparing graph 340 to graph 320, it can be seen that the horizontal (time) offset between the two traces in the steep middle portion of the graph has been removed in graph 340. In contrast, the vertical offset in the horizontal end portion of the graph still remains in graph 340. This difference demonstrates the effectiveness and validity of the time series alignment operation of box 330.
[0031] A graph 340 of the aligned new data file with the reference data file is shown again for visualization purposes in the lower left portion of Figure 3. In box 350, a subtraction or differencing operation is performed between the aligned new data file and the reference data file. That is, for each point i (e.g., 500 points) in each data file, the value in the reference data file is subtracted from the value in the aligned new data file. Thus, if a difference file is designated x, the value in the difference file is determined by: x i =Align i -Ref i (1) Here, Align i is the point i in the new aligned data file, and Ref i is point i in the reference data file. The subtraction operation in box 350, like the alignment operation in box 330, is performed for each of the three parameters included in the new time series data file to the corresponding parameter data for that new time series data file in the reference data file.
[0032] Graph 360 plots difference file x (e.g., 500 data points) for a 2-second data collection event for a selected parameter. It can be seen that the difference data in graph 360 bears no resemblance to the new data file, the reference file, or the aligned data file, which is to be expected. It should be understood that the X and Y axis labels are not meant to be distinguishable in the graphs of FIG. 3, and the range of Y values in difference data graph 360 is much smaller than the range of Y values in the other graphs of raw data.
[0033] Referring back to FIG. 2 , in offline training block 200, after the preprocessing step of FIG. 3 , the difference data files are used for GMM training. The difference data files include all three robot joint parameters and are provided for many, if not all, different robot motions (e.g., 10 out of 15), all of which are provided for a large number of periods of early robot motions in the robot's lifecycle (e.g., data files from the first 100 or first 150 of a two-hour window). Using the data files, GMM training is achieved using a suitable training technique. In one non-limiting embodiment, an expectation-maximization (EM) algorithm is used. The expectation-maximization (EM) algorithm is an iterative method that finds local maximum likelihood or maximum a posteriori (MAP) estimates of parameters in a statistical model, such as a Gaussian mixture model. Thus, offline training block 200 uses sample data from normal robot motions to generate a GMM 240 (then 290) trained on Gaussian distribution parameters associated with the robot joint parameters and time-series data describing various robot motions.
[0034] 3 (time series alignment and differencing against a reference data file) is also performed in online anomaly detection block 250, as previously described. In online anomaly detection block 250, the differencing time series data files are provided to GMM 290, which calculates probabilities as described below.
[0035] 4 is an illustrative flowchart diagram 400 of a method for determining a likelihood value for a time series data file using the Gaussian mixture model of FIG. 2, where the likelihood value indicates whether the data file is nominal or anomalous, according to an embodiment of the present disclosure. FIG. 4 shows the calculation details of the right-hand side of the online anomaly detection block 250 of FIG. 2.
[0036] A three parameter difference file, prepared as described above with respect to Figure 3, is shown at 410. In the example described here, the difference file has dimensions (3 x 500), i.e., it contains data points for each of the three robot joint parameters for all 500 time steps (e.g., 2.0 seconds at 250 Hz). The GMM 290 is shown to the right of the difference file. The GMM 290 is the output of the offline GMM training block 200 of Figure 2, as described above.
[0037] In box 420, GMM 290 is used to calculate the probability that each of the 500 data points (each containing data on three parameters) fits the Gaussian statistical distribution of GMM 290. This is expressed as p(x t )=GMM(x t ) in box 420, where p(x t ) is the point x t The point x returned from GMM290 applied to t Probability value for (GMM(x t )). In a preferred embodiment, the probability has a value in the range from 0 to 1. For example, if the first point (x1) in the difference file is a very good fit to GMM290, then p(x1) will have a value close to 1.0. Conversely, if the 250th point (x 250 ) does not fit GMM290 well, p(x 250 ) has a value significantly less than 1.0, e.g., 0.5. The output of box 420 is a probability value for each of the 500 time steps in the difference file (where the difference file represents the new time series data file as shown in FIG. 3).
[0038] In box 430, a file log-likelihood (FLL) value is calculated for the difference file. The file log-likelihood is a single number that characterizes how well the current new time series data file (represented by the difference file) fits the GMM 290. In a preferred but non-limiting embodiment, the file log-likelihood is calculated by:
number
[0039] The final step in the disclosed technique is to evaluate the FLL values to determine whether the data file is nominal or anomalous. This was the step shown in box 298 of FIG. 2. Graph 440 in FIG. 4 is a plot of FLL values over time. A number of past FLL values calculated for previous time-series data files for various robot operations are shown at 442. It can be observed that the past FLL values all fall within a small range of values and that the past FLL values have a slight downward trend over time. The downward trend may be an indication that certain parasitic effects, such as friction and slack, may be increasing slightly as the robot accumulates more operating time. A trendline can be drawn through the past FLL values as shown, and the standard deviation of the values for the trendline can be calculated using known methods.
[0040] The new FLL value 444 is plotted immediately to the right of the past FLL value. The new FLL value 444 was just calculated in box 430 for the new time series data file. The new FLL value 444 is evaluated against the past FLL values to determine whether the new FLL value 444 represents nominal or abnormal performance. In one non-limiting embodiment, if the new FLL value 444 is within three standard deviations of the trendline of the past FLL values, the new FLL value 444 is determined to represent nominal performance and does not cause an alarm.
[0041] The later FLL value 446 is plotted below the new FLL value 444. The later FLL value 446 is calculated in box 430 for the time series data file after the robot has logged more operating hours. The later FLL value 446, like all FLL values, is evaluated against the past FLL values to determine whether the later FLL value 446 represents nominal or anomalous performance. In the calculation environment described above, the later FLL value 446 is found to be greater than three standard deviations from the trendline of past FLL values; therefore, the later FLL value 446 is determined to represent anomalous performance, and an alarm is issued.
[0042] The exact formula used to calculate the FLL and the criteria for evaluating each new FLL value can, of course, be modified to suit any particular application. Additionally, the configuration of the GMM (240 / 290) can be adjusted to meet the requirements of the application. Specifically, the number of Gaussian distributions to include in the GMM is a configuration parameter that can be selected. In evaluating the disclosed techniques for anomaly detection in robot joint data, results with a very small number of Gaussian distributions (3) were found to be as good as results with a larger number of distributions (10).
[0043] The steps depicted in Figures 3 and 4 are performed for each time series data file during online anomaly detection. That is, each time three parameters are recorded for one of the operations, the resulting new time series data file is preprocessed (Figure 3) and then analyzed by calculating GMM probabilities and calculating and evaluating the file log-likelihood (Figure 4). Thus, the techniques of this disclosure provide real-time anomaly detection monitoring of robot operations to look for signs of performance degradation.
[0044] Experimental evaluation showed that the disclosed technique is highly effective for anomaly detection in robot joint data. First, a GMM was trained on the first 150 periods in the robot's motion lifecycle using data from 10 of the 15 motions. This GMM was then used to evaluate the robot's performance for the remaining periods (e.g., 151–484) for the same 10 motions, and performance was found to be very good. Specifically, the number of alarms spiked starting at approximately period number 450 for the file, nearly three days before the robot would detect a component malfunction and issue its own alarm using conventional techniques. This advance warning of component degradation in the robot provided by the disclosed GMM-based anomaly detection technique offers a significant opportunity to avoid costly and time-consuming damage to the robot and other negative consequences of component failure or malfunction.
[0045] The GMM trained as described above (for 10 of the 15 operations) was then used to evaluate the robot's performance for the other 5 operations for all 484 time periods. Again, the GMM-based anomaly detection model recognized a spike in the number of alarms more than 2.5 days before the robot detected a component malfunction using its own monitoring technology.
[0046] The GMM trained as described above was then used to evaluate the performance of a different robot (of the same model as the training data robot) for all 484 time periods. Again, the GMM-based anomaly detection model recognized a spike in the number of alarms well before the robot could detect a component malfunction using its own monitoring techniques (almost two days before).
[0047] The results summarized above show that the GMM-based anomaly detection techniques of the present disclosure can be effectively employed to provide early warning of component or performance degradation in robot operations, including using sample data from one robot to perform GMM learning and then using the training GMM in online anomaly detection on other robots of the same model, performing the same set of operations.
[0048] 5 is a flowchart 500 of a method for anomaly detection in time series data that includes using a Gaussian mixture model applied to pre-processed data with subsequent analytical calculations, according to an embodiment of the present disclosure. At box 502, a plurality of training files are provided, each containing time series data for one or more parameters collected during one of a plurality of machine operations. In the primary example detailed above, the training files each contained 500 time steps of data for three different robot joint parameters, and the training files covered 10-15 different robot operations over 100 or more measurement windows.
[0049] In box 504, the training files are preprocessed, including time-series alignment of each of the training files to the reference file and calculating the differences between each of the training files and the reference file. The preprocessing produces a training difference file for each of the multiple training files. This preprocessing operation is shown in FIG. 3 and described in detail above. It is noted that in some applications, the time-series alignment operation may not be necessary if the data acquisition system and machining operations themselves tend to provide sufficiently aligned data. Furthermore, some applications may use raw parameter data rather than differences from the reference file, again depending on the nature of the parameter data. If a difference operation is not performed, references to a difference file in the remaining description of FIG. 5 should be interpreted as the data file itself (whether a training file or a current file for online anomaly detection).
[0050] In box 506, GMM learning or training is performed using the training difference file to learn the mean and standard deviation for each of a predetermined number of Gaussian distributions in the GMM. This is depicted in offline GMM learning block 200 of Figure 2 and described above. The training GMM 240 from learning block 200 is stored as training GMM 508 and is used as GMM 290 in subsequent online anomaly detection analysis.
[0051] At box 510, in online anomaly detection block 250, a current file is provided that includes time series data for one or more parameters collected during one of the machine's operations. The current data file includes time series data for the same parameters (e.g., three robot joint parameters) for any one of the operations (e.g., one of 15 robot operations). The current data file is collected for a measurement window after the collection of the training data file (e.g., after the first 100 or 150 two-hour measurement windows). The right-hand side of flowchart 500 depicts the steps for one "current file." The steps are, of course, repeated for many new "current files" as the robot continues to perform operations over time until the method eventually raises an alarm. At that point, the robot can be taken offline or out of service for further diagnosis or service.
[0052] In box 512, the current file is preprocessed, including performing a time series alignment of the current file to the reference file and calculating the differences between the current file and the reference file to produce a current difference file. The alignment and differencing in box 512 is the same as in box 504, except that now it is applied to the current file during online anomaly detection. As mentioned above, in some applications, preprocessing may be skipped, or only alignment or differencing operations may be included. Whether none, one, or both preprocessing steps are used is a matter of application configuration.
[0053] In box 514, a probability is calculated for each time step in the current difference file, where the probability is the likelihood that the time step fits the Gaussian distribution in the training GMM 508. In one embodiment, the probability ranges from a value of 0 (perfect mismatch with the GMM) to a value of 1 (perfect fit with the GMM). In box 516, the file log-likelihood is calculated for the current difference file from the probabilities for all of the time steps. In a preferred embodiment, the FLL is calculated using a log-sum calculation, specifically the calculation involved in equation (2).
[0054] At decision diamond 518, it is determined whether the FLL for the current file falls within a predetermined statistical range of the FLL for the previous time series data file. In one embodiment, the statistical range is within three standard deviations of the mean or trendline. When the file log-likelihood for the current difference file is not within the predetermined statistical variance range of the previous file, an alarm is issued at box 520. It should be understood that an "alarm" can be any type of alert, warning, notification, etc., as deemed suitable for a particular application. Furthermore, the occurrence of an alarm for multiple consecutive files may trigger an escalation in the alert level. Alarms and warnings can include electronic communication, audible and / or visual alerts, and possibly controlled shutdown of the robot. Again, these are all implementation aspects that may be selected as suitable for a particular application.
[0055] If the file log-likelihood for the current file is within the predetermined statistical distribution range of the previous file, the current file is considered to be normal behavior that is not abnormal, in which case the process returns to box 510 to provide a new current data file for different behavior within the current measurement window, etc., or to wait for the next measurement window.
[0056] Various computers are described and suggested throughout the foregoing description. It should be understood that such computer software applications and modules execute on one or more computing devices having a processor and memory modules. In particular, this includes computers having a processor configured with algorithms that perform the functions of the blocks in Figures 2-5. The computational algorithms may execute in the robot controller 120 itself (or any machine controller for other types of machines) or in a separate computer that communicates with the controller to receive the operating parameter time series data.
[0057] The foregoing description discloses and describes merely preferred embodiments of the present disclosure. Those skilled in the art will readily recognize from this description and the accompanying drawings and claims that various changes, modifications, and variations can be made therein without departing from the spirit and scope of the present disclosure, as defined in the following claims.
Claims
1. 1. A computer-implemented method for anomaly detection in time series data from a machine, comprising: providing a plurality of training files, each file including time series data for one or more parameters collected during one of a plurality of operations by the machine; using the training file to train a Gaussian mixture model (GMM) having a predetermined number of Gaussian distributions to learn the mean and standard deviation for each of the distributions; providing a current file containing time series data relating to the one or more parameters collected during one of the operations by the machine; calculating a probability for each time step in the current file, the probability being the likelihood that the time step will fit the Gaussian distribution in the GMM after training; calculating a file log-likelihood (FLL) for the current file from the probabilities for all of the time steps, including using a log-sum calculation; issuing an alert when the FLL has a value that is outside a predetermined statistical distribution range of FLL values for a previous file.
2. 10. The method of claim 1, wherein the operations are performed by an industrial robot and include: moving a tool center point along a plurality of different spatial paths; and moving the tool center point along a prescribed spatial path at different velocity profiles.
3. The method of claim 2 , wherein the one or more parameters include a combination of actual and commanded positions and torques at one or more joints in the robot.
4. 2. The method of claim 1, further comprising: preprocessing the training files before training the GMM; and preprocessing the current file before calculating the probabilities, wherein preprocessing comprises performing a time series alignment of each of the files to a reference file and calculating differences between each of the files and the reference file.
5. The method of claim 4 , wherein performing time series alignment includes using a dynamic time warping algorithm to time align points in each of the files to points in the reference file.
6. 5. The method of claim 4, wherein calculating differences includes calculating differences of points in each of the files relative to corresponding points in the reference file, and calculating the resulting differences in a difference file used in training the GMM and calculating the probabilities.
7. The method of claim 4 , wherein the reference file includes the time series data for the parameter collected during one of the operations by the machine performed before the training file was recorded.
8. 2. The method of claim 1 , wherein training the GMM comprises iteratively training the GMM on the mean and the standard deviation for each of the distributions using an expectation-maximization algorithm until a training convergence criterion is met.
9. 2. The method of claim 1 , wherein calculating the FLL for the current file comprises taking the logarithm of the probability for each of the time steps in the current file and calculating a sum of the logarithms of the probabilities for all of the time steps.
10. The method of claim 1 , wherein the predetermined statistical dispersion range is within three standard deviations of the mean or trendline of the FLL values for previous files.
11. 1. A computer-implemented method for anomaly detection in time series data from an industrial robot, comprising: providing a plurality of training files each including time series data for one or more parameters collected during one of a plurality of movements by the robot, the parameters including a combination of commanded and actual joint torques and positions; pre-processing the training files, including time-series aligning each of the training files to a reference file to generate an alignment file, and calculating differences between each of the alignment files and the reference file to generate a difference file; using the difference file to train a Gaussian mixture model (GMM) having a predetermined number of Gaussian distributions to learn the mean and standard deviation for each of the distributions; providing a current file containing time series data for the one or more parameters collected during one of the movements by the robot; pre-processing the current file, including performing a time-series alignment of the current file to the reference file to generate a current alignment file, and calculating differences between the current alignment file and the reference file to generate a current difference file; calculating a probability for each time step in the current difference file, the probability being the likelihood that the time step will fit the Gaussian distribution in the GMM after training; calculating a file log-likelihood (FLL) for the current delta file from the probabilities for all of the time steps using a log-sum calculation; issuing an alert when the FLL has a value that is outside a predetermined statistical distribution range of FLL values for a previous file.
12. A time series anomaly detection system, comprising: a computer having a processor and memory configured to perform the steps of: training a Gaussian mixture model (GMM) having a predetermined number of Gaussian distributions using a plurality of training files to learn a mean and standard deviation for each of the distributions, each of the training files including time series data for one or more parameters collected during one of a plurality of operations by a machine; calculating a probability for each time step in a current file, the current file including time series data for the one or more parameters collected during one of the operations by the machine, the probability being the likelihood that the time step will fit the Gaussian distribution in the GMM after training; calculating a file log-likelihood (FLL) for the current file from the probabilities for all of the time steps, including using a log-sum calculation; issuing an alert when the FLL has a value that is outside a predetermined statistical distribution range of FLL values for a previous file.
13. 13. The system of claim 12, further comprising: pre-processing the training files before training the GMM; and pre-processing the current file before calculating the probabilities, wherein pre-processing comprises performing a time series alignment of each of the files to a reference file; and calculating a difference between each of the files and the reference file.
14. The system of claim 13 , wherein performing time series alignment includes using a dynamic time warping algorithm to time align points in each of the files to points in the reference file.
15. 14. The system of claim 13, wherein calculating differences includes calculating differences of points in each of the files relative to corresponding points in the reference file, and calculating the resulting differences in a difference file used in training the GMM and calculating the probabilities.
16. 14. The system of claim 13, wherein the reference file includes the time series data for the parameter collected during one of the operations by the machine performed before the training file was recorded.
17. 13. The system of claim 12, wherein training the GMM comprises iteratively training the GMM to the mean and the standard deviation for each of the distributions using an expectation-maximization algorithm until a training convergence criterion is met.
18. 13. The system of claim 12, wherein calculating the FLL for the current file comprises taking the logarithm of the probability for each of the time steps in the current file and calculating a sum of the logarithms of the probabilities for all of the time steps.
19. 13. The system of claim 12, wherein the predetermined statistical dispersion range is within three standard deviations of the mean or trendline of the FLL values for previous files.
20. 13. The system of claim 12, further comprising the machine, wherein the machine is an industrial robot, and the operations performed by the robot include moving a tool center point along a plurality of different spatial paths and moving the tool center point along a prescribed spatial path with different velocity profiles, and the one or more parameters include a combination of actual and commanded positions and torques at one or more joints of the robot.