A surgical robot fault analysis method, device, equipment and storage medium
By acquiring motor speed data and encoder position feedback data of the surgical robot, fault statistics are calculated, solving the problem of limited reference data for surgical robot fault analysis and improving the accuracy of fault analysis.
Patent Information
- Application Number
- CN202411138235.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-19
- Publication Date
- 2026-01-06
- Estimated Expiration
- 2044-08-19
AI Technical Summary
In existing technologies, the reference data for surgical robot fault analysis is limited, resulting in low accuracy in fault analysis.
By acquiring the motor speed data of the surgical robot, the target load matrix corresponding to the motor speed data is determined, and the first fault statistics and the second fault statistics are calculated based on the target load matrix. Fault analysis is then performed by combining the motor speed data and encoder position feedback data.
It enriches the reference data for fault analysis, improves the accuracy of fault analysis, and enables more accurate identification of faults in surgical robots.
Smart Images

Figure CN119014985B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot control technology, and in particular to a method, apparatus, device and storage medium for fault analysis of surgical robots. Background Technology
[0002] In the field of surgical robot control, encoders play a crucial role. Surgical robots need to be able to perform various tasks, such as movement and object grasping. However, due to factors such as long-term workload, version iterations, or system updates, surgical robots can harbor many potential malfunctions. Therefore, it is necessary to evaluate the equipment's operating status and determine whether a malfunction has occurred through the detection of physical phenomena or technical parameters. If a malfunction occurs and an alarm is triggered, further diagnosis of the cause and location of the malfunction is performed, enabling the localization of the fault and prediction of potential malfunctions yet to occur.
[0003] Currently, fault analysis of surgical robots is usually based on data from the encoders in the surgical robot. However, the reference data for fault analysis is relatively limited, resulting in low accuracy. Summary of the Invention
[0004] This invention provides a method, apparatus, device, and storage medium for fault analysis of surgical robots, which can perform fault analysis based on the motor speed data of the surgical robot, enrich the reference data for fault analysis, and improve the accuracy of fault analysis.
[0005] In a first aspect, embodiments of the present invention provide a method for analyzing surgical robot faults, the method comprising:
[0006] Obtain the motor speed data of the target surgical robot;
[0007] Determine the target load matrix corresponding to the motor speed data, and determine the first fault statistic and the second fault statistic based on the target load matrix;
[0008] Based on the first fault statistics and the second fault statistics, the target fault analysis results of the target surgical robot are determined.
[0009] In a second aspect, embodiments of the present invention provide a surgical robot fault analysis device, the device comprising:
[0010] The motor speed data acquisition module is used to acquire the motor speed data of the target surgical robot.
[0011] The fault statistics determination module is used to determine the target load matrix corresponding to the motor speed data, and to determine the first fault statistics and the second fault statistics based on the target load matrix.
[0012] The fault analysis module is used to determine the target fault analysis result of the target surgical robot based on the first fault statistics and the second fault statistics.
[0013] Thirdly, embodiments of the present invention provide a computer device, the computer device comprising:
[0014] One or more processors;
[0015] Memory, used to store one or more programs;
[0016] When the one or more programs are executed by the one or more processors, the one or more processors implement the surgical robot fault analysis method described in any embodiment.
[0017] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the surgical robot fault analysis method described in any embodiment.
[0018] The technical solution provided by this invention involves acquiring the motor speed data of a target surgical robot; determining the target load matrix corresponding to the motor speed data; and determining a first fault statistic and a second fault statistic based on the target load matrix. Based on the first fault statistic and the second fault statistic, the target fault analysis result of the target surgical robot is determined. This invention solves the problem in the prior art where the reference data for surgical robot fault analysis is relatively limited and the accuracy of fault analysis is low. It allows for fault analysis based on the motor speed data of the surgical robot, enriching the reference data for fault analysis and improving the accuracy of fault analysis. Attached Figure Description
[0019] Figure 1 This is a flowchart of a surgical robot fault analysis method provided in an embodiment of the present invention;
[0020] Figure 2 This is a flowchart of another surgical robot fault analysis method provided in an embodiment of the present invention;
[0021] Figure 3 This is a flowchart of a method for determining a target coefficient threshold provided in an embodiment of the present invention;
[0022] Figure 4 This is a flowchart of a surgical robot fault analysis process provided by an embodiment of the present invention;
[0023] Figure 5 This is a schematic diagram of the structure of a surgical robot fault analysis device provided in an embodiment of the present invention;
[0024] Figure 6 This is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Detailed Implementation
[0025] To make the objectives, technical solutions, and advantages of the embodiments of the present invention clearer, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0026] Figure 1 This is a flowchart of a surgical robot fault analysis method provided by an embodiment of the present invention. The embodiment of the present invention can be applied to scenarios where the presence of faults in a surgical robot is analyzed. The method can be executed by a surgical robot fault analysis device, which can be implemented by software and / or hardware.
[0027] like Figure 1 As shown, the surgical robot fault analysis method includes the following steps:
[0028] S110. Obtain the motor speed data of the target surgical robot.
[0029] The target surgical robot can be a surgical robot that requires fault analysis. The motor speed data can be the speed data of the motor in the target surgical robot. Optionally, a corresponding motor speed detection device can be set in the target surgical robot to detect the motor speed of the target surgical robot and obtain the transmission data detected by the motor speed detection device, thereby obtaining the motor speed data.
[0030] S120. Determine the target load matrix corresponding to the motor speed data, and determine the first fault statistic and the second fault statistic based on the target load matrix.
[0031] The target load matrix can be the residual load matrix corresponding to the skewness matrix. For example, the covariance matrix can be determined based on the motor speed data, and then the target load matrix can be determined based on the eigenvalues and eigenvectors corresponding to the covariance matrix.
[0032] Furthermore, the first and second fault statistics can serve as reference data for analyzing the fault information of the target surgical robot. Specifically, the target load matrix can be substituted into the two formulas for calculating the fault statistics to obtain the first and second fault statistics. For example, the squared prediction error statistic (SPE statistic) can be used as the first fault statistic, and T... 2The statistic serves as the second fault statistic. Among them, the SPE statistic can monitor the multivariate state simultaneously, representing the degree of deviation of real-time measured sample values from the principal component model; T... 2 The statistic represents the degree to which real-time measured sample values deviate from the principal component model in terms of trend and magnitude of change.
[0033] S130. Determine the target fault analysis result of the target surgical robot based on the first fault statistics and the second fault statistics.
[0034] The target fault analysis result can be a fault analysis result of the target surgical robot determined based on the motor speed. Specifically, the target fault analysis result can be determined based on the values of the first fault statistic and the second fault statistic. For example, if the first fault statistic is greater than the corresponding control threshold, the target fault analysis result can be determined to be a machine fault in the target surgical robot. This indicates that the correlation structure between variables under normal operating conditions of the target surgical robot has been disrupted, i.e., a relatively serious fault has occurred. If only the second fault statistic exceeds the corresponding control threshold, the target fault analysis result can be determined to be a disturbance alarm result, indicating that it may be caused by disturbances under normal system operation, without any obvious fault.
[0035] The technical solution provided by this invention involves acquiring the motor speed data of a target surgical robot; determining the target load matrix corresponding to the motor speed data; determining a first fault statistic and a second fault statistic based on the target load matrix; and determining the target fault analysis result of the target surgical robot based on the first fault statistic and the second fault statistic. This invention solves the problem in the prior art where the reference data for surgical robot fault analysis is relatively limited and the accuracy of fault analysis is low. It allows fault analysis based on the motor speed data of the surgical robot, enriching the reference data for fault analysis and improving the accuracy of fault analysis.
[0036] Figure 2 This is a flowchart of another surgical robot fault analysis method provided by the present invention. The present invention can be applied to scenarios where faults in surgical robots are analyzed. Based on the above embodiments, this embodiment further explains how to determine the target load matrix corresponding to the motor speed data. This device can be implemented by software and / or hardware and integrated into a computer device with application development capabilities.
[0037] like Figure 2 As shown, the surgical robot fault analysis method includes the following steps:
[0038] S210. Obtain the motor speed data of the target surgical robot.
[0039] The target surgical robot can be a surgical robot that requires fault analysis. The motor speed data can be the speed data of the motor in the target surgical robot. Optionally, a corresponding motor speed detection device can be set in the target surgical robot to detect the motor speed of the target surgical robot and obtain the transmission data detected by the motor speed detection device, thereby obtaining the motor speed data.
[0040] Optionally, after acquiring the motor speed data of the target surgical robot, the motor speed data can be decomposed based on a preset decomposition function to obtain multiple layers of initial wavelet coefficients; the initial wavelet coefficients can be adjusted based on the target coefficient threshold to obtain the target wavelet coefficients; for each layer of target wavelet coefficients, the low-frequency component, high-frequency component, low-pass filter conjugate value, and high-pass filter conjugate value of the target wavelet coefficients can be determined; based on the low-frequency component, high-frequency component, low-pass filter conjugate value, and high-pass filter conjugate value of the multiple layers of target wavelet coefficients, the filtered motor speed data can be obtained, and then the operation of determining the target load matrix of the filtered motor speed data can be performed.
[0041] The preset decomposition function can be a function used to decompose motor speed data. Decomposing the motor speed data based on the preset decomposition function yields multiple layers of initial wavelet coefficients. These initial wavelet coefficients can be the raw, unfiltered wavelet coefficients. The target coefficient threshold can be a reference threshold for filtering the initial wavelet coefficients. Since the wavelet coefficients of the true signal are larger than those of the noise signal, the smaller initial wavelet coefficients can be filtered based on the target coefficient threshold, thus filtering noise data from the motor speed data. The target coefficient threshold can be adaptively adjusted based on the initial wavelet coefficients, meaning it can be adaptively adjusted according to the motor speed data. By matching an appropriate target coefficient threshold to the motor speed data, the data filtering effect can be enhanced.
[0042] Furthermore, the target wavelet coefficients can be the filtered initial wavelet coefficients. Specifically, the initial wavelet coefficients can be adjusted based on the target coefficient threshold, and the adjusted and unadjusted wavelet coefficients can be used as the target wavelet coefficients. Further, for each layer of target wavelet coefficients, the low-frequency components, high-frequency components, low-pass filter conjugate values, and high-pass filter conjugate values can be determined. Based on the low-frequency components, high-frequency components, low-pass filter conjugate values, and high-pass filter conjugate values of the target wavelet coefficients across multiple layers, the filtered motor speed data is obtained, and then the operation of determining the target load matrix of the filtered motor speed data is performed.
[0043] For example, the formulas for determining the low-frequency components, high-frequency components, low-pass filter conjugate value, and high-pass filter conjugate value of the target wavelet coefficients are shown below:
[0044]
[0045]
[0046] In the formula, j represents the number of layers, k represents the number of levels, j, k ∈ Z, c j+1,k d j+1,k These are the wavelet transform coefficients after processing at the (j+1)th layer. Low-frequency components and high-frequency components; These are the conjugate values of the low-pass filter and the high-pass filter, respectively. Further, the motor speed data can be reconstructed based on the low-frequency components, high-frequency components, low-pass filter conjugate values, and high-pass filter conjugate values of the target wavelet coefficients, thus obtaining the filtered motor speed data. An example, the reconstruction formula is shown below:
[0047]
[0048] Optionally, the initial wavelet coefficients can be adjusted based on the target coefficient threshold, including setting the initial wavelet coefficients to zero if they are less than the target coefficient threshold.
[0049] Optionally, determining the target coefficient threshold includes: determining a reference classification threshold based on the initial wavelet coefficients, and classifying the initial wavelet coefficients based on the reference classification threshold to obtain a first coefficient set and a second coefficient set; determining the inter-class variance and the overall variance of the wavelet coefficients in the first coefficient set and the second coefficient set; determining the reference coefficient threshold based on the inter-class variance and the overall variance, and using the current reference coefficient threshold as the target coefficient threshold if the current reference coefficient threshold is less than the previous reference coefficient threshold corresponding to the current reference coefficient threshold.
[0050] The reference classification threshold can be a threshold used to classify the initial wavelet coefficients. Specifically, the reference classification threshold can be set manually or determined based on the extreme values in the initial wavelet coefficients. For example, the average of the maximum and minimum values in the initial wavelet coefficients can be used as the reference classification threshold. The first coefficient set and the second coefficient set can be two sets obtained after classifying the initial wavelet coefficients. For example, the first coefficient set can be constructed based on initial wavelet coefficients smaller than the reference classification threshold, and the second coefficient set can be constructed based on initial wavelet coefficients greater than or equal to the reference classification threshold. Further, the inter-class variance can be the variance of wavelet coefficients between different coefficient sets. The overall variance can be the sum of the inter-class variance and the intra-class variance. The intra-class variance can be the variance of wavelet coefficients within the same coefficient set. Specifically, the variance A1 of the wavelet coefficients within the first coefficient set and the variance A2 of the wavelet coefficients within the second coefficient set can be determined, and then A2 and A1 can be weighted and summed to obtain the intra-class variance.
[0051] Furthermore, the ratio of between-class variance to population variance can be calculated, and this ratio can be used as a reference coefficient threshold. The current reference coefficient threshold can be the threshold determined at the current iteration number. Correspondingly, the previous reference coefficient threshold can be the threshold determined at the previous iteration number corresponding to the current iteration number. Further, the current reference coefficient threshold can be compared with the previous reference coefficient threshold. If the current reference coefficient threshold is less than the corresponding previous reference coefficient threshold, the current reference coefficient threshold is used as the target coefficient threshold. If the current reference coefficient threshold is not greater than the corresponding previous reference coefficient threshold, the iteration process can restart from the step of determining the reference classification threshold.
[0052] For example, Figure 3 This is a flowchart of a method for determining a target coefficient threshold provided by an embodiment of the present invention. Figure 3 As shown, the method for determining the target coefficient threshold includes the following steps:
[0053] (1) Let W be the wavelet coefficients that need to be thresholded in the wavelet transform coefficients. j,k ;
[0054] (2) Determine the initial parameter r m and λ j,m The initial value of m is 1, and r... m The initial value is set to an infinite value, λ. j,m The definition of is:
[0055] λ j,m =(w j,k,min +w j,k,max ) / 2 where w j,k,min The smallest wavelet transform coefficient, w j,k,max It is the largest wavelet transform coefficient, and at the same time, the wavelet transform coefficient w is calculated. j,k The probability of occurrence p j,k .
[0056]
[0057] Where, n j,k The wavelet coefficients W j,k The number of occurrences, where N is the total number of wavelet coefficients.
[0058] (3) According to λ j,m The wavelet transform coefficients are divided into two parts, namely H1={w j,k ,|w j,k |<λ j,m} and H2={w,|w j,k |≥λ j,m} and calculate the probabilities ζ1 and ζ2 of these two parts, as well as their means ε1 and ε2. The mean is defined as:
[0059]
[0060]
[0061] Where h1 and h2 are the number of times the two decomposed wavelets H1 and H2 appear, and N is the total number of wavelet coefficients.
[0062]
[0063]
[0064] Calculate the variance of the sum of the two parts, i.e.:
[0065]
[0066]
[0067] (4) Calculate the within-class variance, between-class variance, and population variance, i.e.
[0068]
[0069]
[0070]
[0071] (5) m = m + 1, calculate the ratio of between-class variance to population variance. Based on the calculated mean, a new threshold λ is obtained. j,m = (ε1+ε2) / 2.
[0072] (6) If r m <r m-1 The iteration ends, and the process jumps to step (7). At this point, the threshold λ... j,m That is the optimal threshold; otherwise, return to step (3) for iterative calculation.
[0073] (7) Substitute the obtained optimal threshold into the adaptive threshold wavelet denoising function and use the optimal threshold to process the wavelet transform coefficients;
[0074]
[0075] Where λ is the adaptive threshold λ obtained after processing in steps (1) to (6). j,m j is the decomposition scale, a is any positive constant, and w j,k These are wavelet transform coefficients. These are the processed wavelet transform coefficients.
[0076] S220. Determine the covariance matrix based on the motor speed data, and determine the eigenvalue matrix and eigenvector matrix corresponding to the covariance matrix.
[0077] The oblique variance matrix can be the covariance matrix corresponding to the motor speed data. Furthermore, the eigenvalues and eigenvectors corresponding to the oblique variance matrix can be determined, thus obtaining the eigenvalue matrix and eigenvector matrix.
[0078] S230. Determine the average eigenvalue and cumulative variance percentage based on the eigenvalue matrix and eigenvector matrix, and determine the target load matrix based on the average eigenvalue and cumulative variance percentage.
[0079] This involves determining the average of all eigenvalues in the eigenvalue matrix and using this average as the mean eigenvalue. The formula for determining the Cumulative Sum Percentage of Variance (CPV) is as follows:
[0080]
[0081] Where, λ i is the characteristic value, and m is the number of variables in the motor speed data.
[0082] Furthermore, if the cumulative variance percentage exceeds a preset threshold, the number of principal components can be determined, and the target load matrix can be determined based on the number of principal components. The target load matrix can be the residual load matrix corresponding to the skew variance matrix. Specifically, the target load matrix P is determined. e The formula is shown below:
[0083] P e =R m×(m-k)
[0084] S240. Determine the first fault statistic and the second fault statistic based on the target load matrix.
[0085] The first and second fault statistics can be reference data used to analyze the fault information of the target surgical robot. For example, the squared prediction error statistic (SPE statistic) can be used as the first fault statistic, and T... 2 The statistic serves as the second fault statistic. Among them, the SPE statistic can monitor the multivariate state simultaneously, representing the degree of deviation of real-time measured sample values from the principal component model; T... 2The statistic represents the degree to which real-time measured sample values deviate from the principal component model in terms of trend and magnitude. Specifically, the formulas for determining the first fault statistic and the second fault statistic are as follows:
[0086]
[0087] Among them, the dataset of motor speed data X∈R n×m , This is the data after X is standardized. I is the model value of matrix X, where I is the identity matrix. It is the target load matrix.
[0088]
[0089] Among them, t i It is the principal component score matrix The score of the i-th principal component in R, Λ∈R kxk It is a diagonal matrix composed of the eigenvalues corresponding to the first k principal components. It is the target load matrix. The sampled data X∈R n×m Standardized data The i-th row.
[0090] S250. Based on the first fault statistics and the second fault statistics, determine the target fault analysis result of the target surgical robot.
[0091] Optionally, position feedback data of the encoder in the target surgical robot can be obtained, and reference motor speed data can be determined based on the position feedback data; reference fault analysis results can be determined based on the reference motor speed data, and robot fault analysis results can be determined based on the target fault analysis results and the reference fault analysis results.
[0092] The position feedback data can be the spatial position data of the target surgical robot. Specifically, the position feedback data can include the absolute and relative positions of the target surgical robot. Specifically, the position feedback data can be obtained from the encoder of the target surgical robot. Further, the reference motor speed data can be the motor speed data determined based on the position feedback data. Optionally, forward differential operations can be performed on the position feedback data to obtain the reference motor speed data. The reference fault analysis result can be the fault analysis result determined based on the reference motor speed data. Optionally, a first fault statistic and a second fault statistic corresponding to the reference motor speed data can be determined, and then the reference fault analysis result can be determined based on the first and second fault statistics corresponding to the reference motor speed data. The robot fault analysis result can be the fault analysis result of the target surgical robot determined from multiple perspectives. Optionally, the target fault analysis result and the reference fault analysis result can be combined to obtain the robot fault analysis result.
[0093] For example, in order to better understand the technical solution provided by the present invention, specific embodiments are described below. Figure 4 This is a flowchart illustrating a surgical robot fault analysis process provided by an embodiment of the present invention. Figure 4 As shown, the workflow for surgical robot fault analysis includes the following steps: First, acquiring the target rotational speed signal data from the surgical robot's motor output; second, performing forward differential calculations on the encoder position feedback signal data to obtain the reference rotational speed signal data. Then, performing the same denoising on both the target and reference rotational speed signal data, calculating statistics, and determining the fault analysis steps based on the statistics, ultimately identifying the corresponding fault source under fault conditions. The following sections describe the three aspects: signal denoising, determining the target load matrix, and fault analysis.
[0094] (1) The velocity signal is denoised using wavelet denoising with adaptive threshold (i.e., the improved version).
[0095] Wavelet transform is a time-frequency analysis method capable of analyzing the local characteristics of signals. It possesses high frequency resolution in the low-frequency range and high time resolution in the high-frequency range, adapting to the needs of time-frequency signal analysis and processing signal details more precisely. The wavelet transform involves taking a function called a wavelet basis as a shift b, and then performing an inner product with the signal to be analyzed f(t) at different scales.
[0096]
[0097] In the formula, φ a,b (t) represents the wavelet basis function; a and b are the scaling information factor and translation parameter factor, respectively; L2 (R) denotes a square-integrable space. The discretization formulas for the scale parameter a and the translation parameter b are generally expressed as follows: Therefore, the discrete wavelet function can be expressed as:
[0098]
[0099] Its reconstruction formula is:
[0100]
[0101] In the formula, C is a constant independent of the signal, which shows that... j,k (t) is the convolution of the signal x(t) with the wavelet function.
[0102] This invention employs the Mallat algorithm to convolve wavelet coefficients with a filter bank, thereby achieving rapid multi-resolution decomposition of the signal in a pyramidal fashion, significantly reducing the complexity of traditional wavelet transform algorithms. The decomposition formula is as follows:
[0103]
[0104]
[0105] In the formula, c j+1,k d j+1,k These are the wavelet transform coefficients after processing at the (j+1)th layer. The low-frequency components (low-frequency components) and high-frequency components (detail components); These are the conjugate values of the low-pass and high-pass filters, respectively.
[0106] Since useful signals typically manifest as low-frequency components or relatively stable signals, while noise signals appear as high-frequency signals, only the high-frequency coefficients need to be processed. Furthermore, because the wavelet coefficients obtained through wavelet transform contain important time-frequency information, the wavelet coefficients of the true signal are larger, while those of the noise coefficients are smaller. Therefore, a threshold is set for the high-frequency coefficients, and wavelet coefficients below the threshold are set to zero. The reconstructed signal then eliminates the noise. The reconstruction formula is as follows:
[0107]
[0108] The original signal can be recovered using the formula above. As can be seen from the wavelet denoising process, the denoising result depends on the effectiveness of the thresholding step. To address the shortcomings of traditional wavelet denoising at signal singularities, this invention proposes an adaptive thresholding method for processing the encoder output signal.
[0109] The adaptive threshold processing procedure is as described in step S210 above.
[0110] (II) Establishing a principal component statistical model
[0111] The present invention utilizes sample data of variables within the normal range of variation to establish a principal component statistical model, which is a prerequisite for principal component analysis of the variables in the entire process.
[0112] Typically, the motor speed dataset X∈R under normal operating conditions of the equipment n×m Here, n is the number of samples, and m is the number of variables. To remove the influence of data scaling, X is first standardized to obtain...
[0113]
[0114] Where V = [v1, v2, ..., v m Let be the mean of X, and s = [s1, s2, ..., s]. m ] represents the standard deviation of X.
[0115] matrix It can be decomposed into:
[0116]
[0117] Among them, t i ∈R n It is the principal component score vector, p i ∈R m It is a load vector, and
[0118]
[0119] In the formula, T = [t1, t2, ..., t m ] is the score matrix, P = [p1, p2, ..., p m ] is the load matrix.
[0120] All score vectors and load vectors are orthogonal to each other, that is, for any i ≠ j. In addition, the length of each load vector is 1, that is, when i = j, Therefore, we can obtain the following formula:
[0121]
[0122] This explains that each score vector is actually a data matrix. The projection of vector t onto the load vector corresponding to this score vector. i The length of the data matrix reflects the data matrix In p i The degree of coverage in a given direction. The greater its length, the better. In p iThe greater the coverage or range of variation in a direction, the better. If the score vectors are sorted by their length:
[0123] ||t1||>||t2||>…>||t m ||
[0124] Then the load vector p1 will represent the data. The direction of greatest change is where p2 is perpendicular to p1 and represents the data. The second largest direction of change, p m Representative data The direction of least change, the matrix It can be rewritten as:
[0125]
[0126] definition:
[0127]
[0128]
[0129] In the formula, k is the number of pivot elements. It is a matrix The model value, It is a principal component score matrix and It is the target load matrix and E is the residual matrix, T e ∈R n×(m-k) It is the residual score matrix, P e =R m×(m-k) It is the residual load matrix (i.e., the target load matrix).
[0130] but It can be represented as:
[0131]
[0132] For matrix Performing principal component analysis is actually equivalent to analyzing... Vector analysis is performed on the covariance matrix. The load vector is actually the eigenvector of its covariance moment.
[0133] The covariance is:
[0134]
[0135] Where, λ i These are the eigenvalues of Σ, and λ1≥λ2≥…≥λ m ≥0, p1, p2, ..., pm These are the eigenvectors corresponding to these eigenvalues. The number of principal components is typically determined using the cumulative variance (CPV) percentage, which can be expressed as:
[0136]
[0137] Generally, when the CPV of the current number of principal components k is greater than or equal to 85%, it can be considered that the feature information of the current number of principal components k is sufficient to describe the performance of the entire process, i.e., the number of principal components is k.
[0138] (III) Fault Diagnosis Based on Principal Component Analysis
[0139] Once the number of principal components is determined and a principal component model is established, this model can be used to calculate statistics for real-time collected data samples for testing. Faults can be detected based on whether the values of these statistics exceed control thresholds. Commonly used statistics include the SPE (Square Prediction Error) statistic and Hotelling's T. 2 Statistics.
[0140] The SPE statistic can monitor the state of multiple variables simultaneously, representing the degree of deviation of real-time measured sample values from the principal component model, and is defined as follows:
[0141]
[0142] in, This is the data after X is standardized. I is the model value of matrix X, where I is the identity matrix. It is the target load matrix.
[0143] T 2 The statistic represents the degree to which real-time measured sample values deviate from the principal component model in terms of trend and magnitude of change; it is defined as:
[0144]
[0145] Among them, t i It is the principal component score matrix The score of the i-th principal component in R, Λ∈R kxk It is a diagonal matrix composed of the eigenvalues corresponding to the first k principal components. It is the target load matrix. The sampled data X∈R n×m Standardized data The i-th row.
[0146] Generally, if the SPE statistic exceeds its control threshold, it indicates that the correlation structure between variables under normal operating conditions has been disrupted, meaning a malfunction has occurred; if only T... 2If the statistic exceeds its control threshold, it indicates that the disturbance may be caused by the system under normal operating conditions, and there is no obvious fault.
[0147] After performing forward difference operations on the motor speed signal obtained through principal component model analysis and the position feedback signal obtained from the encoder, the SPE statistic and T are calculated respectively. 2 Statistical data are collected and graphs are plotted to monitor the system's operating status. The graphs obtained from the two types of signals are compared with control thresholds to determine whether the encoder is faulty.
[0148] The technical solution provided by this invention involves: acquiring the motor speed data of a target surgical robot; determining a covariance matrix based on the motor speed data, and determining the corresponding eigenvalue matrix and eigenvector matrix; determining the average eigenvalue and cumulative variance percentage based on the eigenvalue and eigenvector matrices, and determining the target load matrix based on the average eigenvalue and cumulative variance percentage; determining a first fault statistic and a second fault statistic based on the target load matrix; and determining the target fault analysis result of the target surgical robot based on the first fault statistic and the second fault statistic. This invention solves the problem in the prior art where the reference data for surgical robot fault analysis is relatively limited and the accuracy of fault analysis is low. It allows fault analysis based on the motor speed data of the surgical robot, enriching the reference data for fault analysis and improving the accuracy of fault analysis.
[0149] Figure 5 This is a schematic diagram of the structure of a surgical robot fault analysis device provided in an embodiment of the present invention. The embodiment of the present invention can be applied to scenarios where faults in surgical robots are analyzed. The device can be implemented by software and / or hardware and integrated into a computer device with application development capabilities.
[0150] like Figure 5 As shown, the surgical robot fault analysis device includes: a motor speed data acquisition module 310, a fault statistics determination module 320, and a fault analysis module 330.
[0151] The system includes a motor speed data acquisition module 310, which acquires motor speed data of the target surgical robot; a fault statistics determination module 320, which determines the target load matrix corresponding to the motor speed data and determines a first fault statistic and a second fault statistic based on the target load matrix; and a fault analysis module 330, which determines the target fault analysis result of the target surgical robot based on the first fault statistic and the second fault statistic.
[0152] The technical solution provided by this invention involves acquiring the motor speed data of a target surgical robot; determining the target load matrix corresponding to the motor speed data; and determining a first fault statistic and a second fault statistic based on the target load matrix. Based on the first fault statistic and the second fault statistic, the target fault analysis result of the target surgical robot is determined. This invention solves the problem in the prior art where the reference data for surgical robot fault analysis is relatively limited and the accuracy of fault analysis is low. It allows for fault analysis based on the motor speed data of the surgical robot, enriching the reference data for fault analysis and improving the accuracy of fault analysis.
[0153] In an optional implementation, the fault statistics determination module 320 includes a load matrix determination unit, configured to: determine a covariance matrix based on the motor speed data, and determine the eigenvalue matrix and eigenvector matrix corresponding to the covariance matrix; determine the average eigenvalue and cumulative variance percentage based on the eigenvalue matrix and eigenvector matrix, and determine the target load matrix based on the average eigenvalue and cumulative variance percentage.
[0154] In one optional implementation, the load matrix determination unit includes a target load matrix determination subunit, configured to: determine the number of target principal components based on the average eigenvalue and the cumulative variance percentage; wherein the number of target principal components represents the number of key data in the target load matrix; and determine the target load matrix based on the number of target principal components.
[0155] In an optional embodiment, the surgical robot fault analysis device further includes: a rotation speed data filtering module, configured to: decompose the motor rotation speed data based on a preset decomposition function to obtain multiple layers of initial wavelet coefficients; adjust the initial wavelet coefficients based on a target coefficient threshold to obtain target wavelet coefficients; for each layer of target wavelet coefficients, determine the low-frequency component, high-frequency component, low-pass filter conjugate value, and high-pass filter conjugate value of the target wavelet coefficients; obtain filtered motor rotation speed data based on the low-frequency component, high-frequency component, low-pass filter conjugate value, and high-pass filter conjugate value of the multiple layers of target wavelet coefficients; and then perform the operation of determining the target load matrix of the filtered motor rotation speed data.
[0156] In one optional implementation, the rotational speed data filtering module includes a target coefficient threshold determination unit, configured to: determine a reference classification threshold based on initial wavelet coefficients, and classify the initial wavelet coefficients based on the reference classification threshold to obtain a first coefficient set and a second coefficient set; determine the inter-class variance and total variance of the wavelet coefficients in the first coefficient set and the second coefficient set; determine a reference coefficient threshold based on the inter-class variance and the total variance, and if the current reference coefficient threshold is less than the previous reference coefficient threshold corresponding to the current reference coefficient threshold, use the current reference coefficient threshold as the target coefficient threshold.
[0157] In one optional implementation, the rotational speed data filtering module includes a wavelet coefficient adjustment unit, configured to: set the initial wavelet coefficients to zero when the initial wavelet coefficients are less than the target coefficient threshold.
[0158] In one optional embodiment, the surgical robot fault analysis device further includes a reference rotation speed analysis module, configured to: acquire position feedback data of the encoder in the target surgical robot, and determine reference motor rotation speed data based on the position feedback data; determine a reference fault analysis result based on the reference motor rotation speed data, and determine a robot fault analysis result based on the target fault analysis result and the reference fault analysis result.
[0159] The surgical robot fault analysis device provided in this embodiment of the invention can execute the surgical robot fault analysis method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method execution.
[0160] Figure 6 is a schematic diagram of the structure of a computer device provided in an embodiment of the present invention. Figure 6 shows a block diagram of an exemplary computer device 12 suitable for implementing embodiments of the present invention. The computer device 12 shown in Figure 6 is merely an example and should not impose any limitation on the functionality and scope of use of the embodiments of the present invention. The computer device 12 can be any terminal device with computing capabilities and can be configured in a surgical robot fault analysis device.
[0161] As shown in Figure 6, the computer device 12 is presented in the form of a general-purpose computing device. The components of the computer device 12 may include, but are not limited to: one or more processors or processing units 16, system memory 28, and a bus 18 connecting different system components (including system memory 28 and processing unit 16).
[0162] Bus 18 can be one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0163] Computer device 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by computer device 12, including volatile and non-volatile media, removable and non-removable media.
[0164] System memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache 32. Computer device 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (not shown in 6, commonly referred to as a "hard disk drive"). Although not shown in 6, disk drives for reading and writing to removable non-volatile disks (e.g., "floppy disks") and optical disk drives for reading and writing to removable non-volatile optical disks (e.g., CD-ROMs, DVD-ROMs, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. System memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of the present invention.
[0165] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in system memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of the present invention.
[0166] Computer device 12 can also communicate with one or more external devices 14 (e.g., keyboard, pointing device, display 24, etc.), and with one or more devices that enable a user to interact with computer device 12, and / or with any device that enables computer device 12 to communicate with one or more other computing devices (e.g., network card, modem, etc.). This communication can be performed via input / output (I / O) interface 22. Furthermore, computer device 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown in Figure 6, network adapter 20 communicates with other modules of computer device 12 via bus 18. It should be understood that, although not shown in Figure 6, other hardware and / or software modules can be used in conjunction with computer device 12, including but not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0167] Processing unit 16 executes various functional applications and data processing by running programs stored in system memory 28, such as implementing the surgical robot fault analysis method provided in this embodiment of the invention, which includes:
[0168] Acquire the motor speed data of the target surgical robot; determine the target load matrix corresponding to the motor speed data, and determine the first fault statistic and the second fault statistic based on the target load matrix; determine the target fault analysis result of the target surgical robot based on the first fault statistic and the second fault statistic.
[0169] This embodiment provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the surgical robot fault analysis method provided in any embodiment of the present invention, including:
[0170] Acquire the motor speed data of the target surgical robot; determine the target load matrix corresponding to the motor speed data, and determine the first fault statistic and the second fault statistic based on the target load matrix; determine the target fault analysis result of the target surgical robot based on the first fault statistic and the second fault statistic.
[0171] The computer storage medium of this invention can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. For example, a computer-readable storage medium can be, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0172] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0173] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0174] Computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof. Programming languages include object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as C or similar languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0175] Those skilled in the art will understand that the modules or steps of the present invention described above can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. Optionally, they can be implemented using computer-executable program code, thereby allowing them to be stored in a storage device for execution by a computing device, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular combination of hardware and software.
[0176] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.
Claims
1. A surgical robot failure analysis method characterized by, The method comprises: obtaining motor speed data of a target surgical robot; determining a target load matrix corresponding to the motor speed data, and determining a first fault statistical quantity and a second fault statistical quantity according to the target load matrix; determining a target fault analysis result of the target surgical robot according to the first fault statistical quantity and the second fault statistical quantity; wherein, after obtaining the motor speed data of the target surgical robot, the method further comprises: decomposing the motor speed data based on a preset decomposition function to obtain initial wavelet coefficients of multiple layers; adjusting the initial wavelet coefficients based on a target coefficient threshold to obtain target wavelet coefficients; for the target wavelet coefficients of each layer, determining a low-frequency component, a high-frequency component, a low-pass filter conjugate value and a high-pass filter conjugate value of the target wavelet coefficients; obtaining filtered motor speed data according to the low-frequency component, the high-frequency component, the low-pass filter conjugate value and the high-pass filter conjugate value of the target wavelet coefficients of multiple layers, and then performing the operation of determining the target load matrix of the filtered motor speed data.
2. The method of claim 1, wherein, The determination of the target load matrix corresponding to the motor speed data comprises: determining a covariance matrix according to the motor speed data, and determining an eigenvalue matrix and an eigenvector matrix corresponding to the covariance matrix; determining an average eigenvalue and a variance cumulative sum percentage according to the eigenvalue matrix and the eigenvector matrix, and determining the target load matrix according to the average eigenvalue and the variance cumulative sum percentage.
3. The method of claim 2, wherein, The determination of the target load matrix according to the average eigenvalue and the variance cumulative sum percentage comprises: determining a target pivot number according to the average eigenvalue and the variance cumulative sum percentage; wherein, the target pivot number represents the number of key data in the target load matrix; determining the target load matrix according to the target pivot number.
4. The method of claim 1, wherein, The determination of the target coefficient threshold comprises: determining a reference classification threshold according to the initial wavelet coefficients, and classifying the initial wavelet coefficients based on the reference classification threshold to obtain a first coefficient set and a second coefficient set; determining an inter-class variance and a total variance of the wavelet coefficients in the first coefficient set and the second coefficient set; determining a reference coefficient threshold according to the inter-class variance and the total variance, and taking the current reference coefficient threshold as the target coefficient threshold if the current reference coefficient threshold is less than the previous reference coefficient threshold corresponding to the current reference coefficient threshold.
5. The method of claim 1, wherein, The adjustment of the initial wavelet coefficients based on the target coefficient threshold comprises: in the case that the initial wavelet coefficient is less than the target coefficient threshold, the initial wavelet coefficient is set to zero.
6. The method of claim 1, wherein, The method further comprises: obtaining position feedback data of an encoder in the target surgical robot, and determining reference motor speed data according to the position feedback data; determining a reference fault analysis result according to the reference motor speed data, and determining a robot fault analysis result according to the target fault analysis result and the reference fault analysis result.
7. A surgical robot failure analysis apparatus, characterized by, The device comprises: a motor speed data acquisition module, configured to obtain motor speed data of a target surgical robot; The fault statistical quantity determination module is configured to determine a target load matrix corresponding to the motor speed data, and determine a first fault statistical quantity and a second fault statistical quantity according to the target load matrix; The fault analysis module is configured to determine a target fault analysis result of the target surgical robot according to the first fault statistical quantity and the second fault statistical quantity; The speed data filtering module is configured to: decompose the motor speed data based on a preset decomposition function to obtain initial wavelet coefficients of multiple layers; adjust the initial wavelet coefficients based on a target coefficient threshold to obtain target wavelet coefficients; for each layer of the target wavelet coefficients, determine a low-frequency component, a high-frequency component, a low-pass filter conjugate value, and a high-pass filter conjugate value of the target wavelet coefficients; and obtain filtered motor speed data according to the low-frequency components, the high-frequency components, the low-pass filter conjugate values, and the high-pass filter conjugate values of the target wavelet coefficients of the multiple layers, and then perform the operation of determining the target load matrix of the filtered motor speed data.
8. A computer device, comprising: The computer device includes: one or more processors; a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the surgical robot fault analysis method of any one of claims 1-6.
9. A computer-readable storage medium having stored thereon a computer program, characterized in that, The program is executed by the processor to implement the surgical robot fault analysis method of any one of claims 1-6.
Citation Information
Patent Citations
Small-fault detection method and device based on multiple moving average
CN103776480A
Data driving method of fault detection and fault separation of drone flight control system
CN107608335A