Robotic arm motion state segmentation method, device and storage medium

By performing short-term energy and short-term kurtiness frame processing on the robotic arm vibration signal, the problem of poor detection effect in the prior art is solved, and more efficient robotic arm quality detection is achieved.

CN115042228BActive Publication Date: 2025-08-22CHENGDU CRP ROBOT TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210651685.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-09
Publication Date
2025-08-22
Estimated Expiration
2042-06-09

AI Technical Summary

Technical Problem

The existing method of detecting endpoints of the robotic arm vibration signal cannot effectively utilize the characteristics of the vibration signal, resulting in poor detection results and affecting the efficiency and accuracy of the robotic arm quality detection.

Method used

The robotic arm vibration signal is processed in frame by combining short-time energy and short-time kurtitude. The endpoints of the vibration interval are determined by calculating the short-time energy value and short-time kurtitude value, and the signal characteristics of different frame lengths are used to improve detection accuracy.

Benefits of technology

It improves the accuracy of vibration signal endpoint detection, provides more and more accurate vibration information, provides a reliable basis for robotic arm quality detection, and ensures the factory quality of robotic arm.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115042228B_ABST
    Figure CN115042228B_ABST
Patent Text Reader

Abstract

Embodiments of the present invention provide a method, device, and storage medium for segmenting the motion state of a robotic arm, relating to the field of robotic arms. The method comprises: performing frame processing on a robotic arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain multiple first frame segments and multiple second frame segments, wherein the first frame length is less than the second frame length; calculating multiple short-time energy values ​​and multiple short-time kurtosis values ​​based on the multiple first frame segments and the multiple second frame segments; and determining the endpoints of the robotic arm's vibration interval from the robotic arm vibration signal based on the multiple short-time energy values ​​and the multiple short-time kurtosis values. The present invention can improve the accuracy of vibration signal endpoint detection.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robotic arms, and in particular to a method, device and storage medium for segmenting the motion state of a robotic arm. Background Art

[0002] During signal acquisition from a robotic arm, a high sampling rate is typically used to obtain more vibration information. Consequently, the amount of collected acceleration data is large, encompassing both motion and static states. Using all this data for quality inspection of the robotic arm would inevitably lead to slow execution and high computational complexity. Therefore, extracting effective vibration signals from this large volume of robotic arm vibration data to improve the efficiency of subsequent quality inspections has become a key issue.

[0003] The key to segmenting the motion state of a robotic arm lies in endpoint detection of the vibration signal. Currently, endpoint detection methods based on time-frequency domain feature parameters or model-based endpoint detection are both designed for speech signals. However, the vibration signal of a robotic arm differs from speech signals. Traditional endpoint detection methods do not fully utilize the characteristics of the vibration signal, resulting in poor detection results. Summary of the Invention

[0004] Embodiments of the present invention provide a method, device, and storage medium for segmenting the motion state of a robotic arm, which can improve the accuracy of endpoint detection of a vibration signal.

[0005] In a first aspect, an embodiment of the present invention provides a method for segmenting a motion state of a robotic arm, the method comprising:

[0006] According to a preset first frame length and a second frame length, the robot arm vibration signal is frame-processed to obtain a plurality of first frame segments and a plurality of second frame segments, wherein the first frame length is smaller than the second frame length;

[0007] Calculating a plurality of short-time energy values ​​and a plurality of short-time kurtosis values ​​respectively according to the plurality of first frame segments and the plurality of second frame segments;

[0008] According to the multiple short-time energy values ​​and the multiple short-time kurtosis values, the endpoints of the vibration interval of the robotic arm are determined from the robotic arm vibration signal.

[0009] Optionally, determining the endpoints of the vibration interval of the robotic arm from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values ​​includes:

[0010] Calculating a short-time energy interval according to the plurality of short-time energy values, and determining a target time period within a time period formed by the plurality of first frame segments;

[0011] The endpoints of the robot arm vibration interval are determined within the target time period according to the multiple short-term kurtosis values.

[0012] Optionally, calculating the short-time energy interval according to the multiple short-time energy values, and determining the target time period from the time period formed by the multiple first frame segments, includes:

[0013] If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, comparing whether the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, wherein the second frame number is a frame before the first frame number, and the first frame number is the number of any frame segment in the multiple first frame segments;

[0014] If the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, the preset time period before the second frame number is determined to be the first time period, and the target time period includes: the first time period.

[0015] Optionally, determining the endpoints of the robot arm vibration interval within the target time period based on the multiple short-time kurtosis values ​​includes:

[0016] A point corresponding to the maximum short-time kurtosis value in the first time period is determined as the starting point of the robotic arm in the vibration interval.

[0017] Optionally, the calculating the short-time energy interval according to the multiple short-time energy values, and determining the target time period from the time period formed by the multiple first frame segments, further includes:

[0018] If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, comparing whether the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, wherein the third frame number is a frame subsequent to the first frame number;

[0019] If the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, the preset time period after the second frame number is determined to be the second time period; the target time period also includes: the second time period.

[0020] Optionally, the determining the endpoints of the vibration interval of the robotic arm from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values ​​further includes:

[0021] The point corresponding to the maximum short-time kurtosis value in the second time period is determined as the end point of the robotic arm in the vibration interval.

[0022] Optionally, calculating the short-time energy interval according to the multiple short-time energy values ​​includes:

[0023] Calculate the average value of the short-time energy corresponding to all first frame segments in the preset static time period as an average short-time energy value;

[0024] Calculating the maximum value of the short-time energy interval according to the average short-time energy value and a preset high threshold parameter value;

[0025] The minimum value of the short-time energy interval is calculated according to the average short-time energy value and a preset low threshold parameter value.

[0026] Optionally, the method further includes:

[0027] According to the maximum short-time energy value in the current vibration interval of the robotic arm, the short-time energy interval is updated to obtain a target short-time energy interval, and the target short-time energy interval is used to identify the endpoint of the next vibration interval of the current vibration interval from the robotic arm vibration signal.

[0028] In a second aspect, an embodiment of the present invention further provides a vibration signal motion state segmentation device, the device comprising:

[0029] A framing module is configured to perform framing processing on the robot arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain a plurality of first frame segments and a plurality of second frame segments, wherein the first frame length is smaller than the second frame length;

[0030] a calculation module, configured to calculate a plurality of short-time energy values ​​and a plurality of short-time kurtosis values ​​respectively according to the plurality of first frame segments and the plurality of second frame segments;

[0031] A processing module is configured to determine endpoints of a vibration interval of the robotic arm from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values.

[0032] In a third aspect, an embodiment of the present invention further provides a computer-readable storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of segmenting the motion state of the robotic arm as described in any one of the first aspects are executed.

[0033] The present invention provides a method, device and storage medium for segmenting the motion state of a robotic arm. The method performs frame processing on the vibration signal of the robotic arm according to a preset first frame length and a second frame length, respectively, to obtain multiple first frame segments and multiple second frame segments, wherein the first frame length is less than the second frame length; multiple short-time energy values ​​and multiple short-time kurtosis values ​​are calculated respectively according to the multiple first frame segments and the multiple second frame segments; and the endpoints of the vibration range in which the robotic arm is located are determined from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values. In this way, the short-time energy and the short-time kurtosis can be simultaneously applied to the method for segmenting the motion state of the robotic arm vibration signal, and the vibration signal features can be used more fully, thereby improving the accuracy of the detection of the endpoints of the vibration signal, and more and more accurate vibration information of the robotic arm can be obtained, providing a basis for the quality detection of the robotic arm, and better guaranteeing the factory quality of the robotic arm. BRIEF DESCRIPTION OF THE DRAWINGS

[0034] In order to more clearly illustrate the technical solutions of the embodiments of the present invention, the following briefly introduces the drawings required for use in the embodiments. It should be understood that the following drawings only illustrate certain embodiments of the present invention and therefore should not be regarded as limiting the scope. For ordinary technicians in this field, other relevant drawings can be obtained based on these drawings without paying any creative work.

[0035] Figure 1 A schematic flow chart of a method for segmenting the motion state of a robotic arm provided by the present invention;

[0036] Figure 2 A schematic flow chart of another method for segmenting the motion state of a robotic arm provided by the present invention;

[0037] Figure 3 A flow chart of a method for determining a target time period provided by the present invention;

[0038] Figure 4 A flow chart of another method for determining a target time period provided by the present invention;

[0039] Figure 5 A schematic diagram of a flow chart of a method for calculating short-time energy intervals provided by the present invention;

[0040] Figure 6 A flowchart of an endpoint decision provided by the present invention;

[0041] Figure 7 A schematic diagram of a robot arm motion state segmentation device provided by the present invention;

[0042] Figure 8 This is a schematic diagram of a robotic arm motion state segmentation device provided by the present invention. DETAILED DESCRIPTION

[0043] To make the objectives, technical solutions, and advantages of the embodiments of the present invention more clear, the technical solutions of the embodiments of the present invention will be clearly and completely described below in conjunction with the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Generally, the components of the embodiments of the present invention described and shown in the drawings herein can be arranged and designed in various different configurations.

[0044] Therefore, the following detailed description of the embodiments of the present invention provided in the accompanying drawings is not intended to limit the scope of the invention as claimed, but rather merely represents selected embodiments of the present invention. All other embodiments derived by persons of ordinary skill in the art based on the embodiments of the present invention without creative effort shall fall within the scope of protection of the present invention.

[0045] It should be noted that similar reference numerals and letters denote similar items in the following drawings, and therefore, once an item is defined in one drawing, it does not need to be further defined or explained in subsequent drawings.

[0046] Before explaining the present invention in detail, the application scenarios of the present invention are first introduced.

[0047] A robotic arm is a key piece of equipment for intelligent manufacturing. Its transmission system is responsible for transmitting power to each joint, and its motion state is directly related to the quality of its intended tasks. Failures are inevitable during operation, and previously, mechanical failures were addressed through post-fault repairs. However, this repair method is costly and inefficient. Severe mechanical failures can render the entire arm useless and, in severe cases, endanger the user's safety. Therefore, intelligent detection of robotic arms is essential.

[0048] The vibration information from a robotic arm's operation can reflect its motion state, and endpoint detection is one of the keys to analyzing this motion state. Research on endpoint detection technology has primarily focused on speech signals. However, robotic arm vibration signals differ from speech signals in certain ways, exhibiting different characteristics, such as different interference noise levels and higher bandwidth and sampling frequency. Directly applying traditional endpoint detection methods to vibration signal detection will underutilize the signal's characteristics, resulting in poor detection results, hindering analysis of the robotic arm's motion state, and making it impossible to effectively detect robotic arm faults.

[0049] Based on this, the present invention provides a method, device, and storage medium for segmenting the motion state of a robotic arm. The method comprises: performing frame processing on the robotic arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain multiple first frame segments and multiple second frame segments, wherein the first frame length is less than the second frame length; calculating multiple short-time energy values ​​and multiple short-time kurtosis values ​​based on the multiple first frame segments and the multiple second frame segments; and determining the endpoints of the vibration range of the robotic arm from the robotic arm vibration signal based on the multiple short-time energy values ​​and the multiple short-time kurtosis values. The following embodiments of the present invention can be performed by a robotic arm motion state segmentation device, which can be a computer device such as a laptop computer, a desktop computer, or a server.

[0050] The following is an explanation through multiple embodiments with reference to the accompanying drawings. Figure 1 The flow chart of a method for segmenting the motion state of a robot arm provided by the present invention is as follows. Figure 1 As shown, the method includes:

[0051] S110 , performing frame processing on the robot arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain a plurality of first frame segments and a plurality of second frame segments.

[0052] The first frame length is smaller than the second frame length.

[0053] For the robotic arm, the vibration signal must first be collected. Optionally, the vibration signal can generally be collected using a piezoelectric accelerometer, a resistive strain sensor, an inertial electric sensor, a laser sensor, etc. After obtaining the vibration signal, the vibration signal can optionally be preprocessed. The main function of the preprocessing is to eliminate the trend item of the signal. In this embodiment, the vibration signal of the robotic arm can be preprocessed by removing the mean value. In one possible implementation, a digital filter can also be used to filter the vibration signal.

[0054] Since the vibration signal is a non-stationary signal, it can be assumed to be stationary within a short period of time. Therefore, the vibration signal can be framed. The frame division step can divide the signal into short-time frame segments, and then the vibration signal of each frame can be processed.

[0055] In this embodiment, the preset first frame length and second frame length can be used to perform frame processing on the vibration signal of the manipulator, respectively, to obtain multiple first frame segments and multiple second frame segments. Optionally, the vibration signal can be continuously segmented or overlapped. In order to ensure the continuity between frames in the signal, the overlapping framing method is adopted in this embodiment. For overlapping framing, the signal length of each frame is the frame length, and there will be an overlapping part between the two frames. This overlapping part is called frame shift. The frame length represents the number of points in each frame segment signal, and the frame shift represents the number of interval points between the starting points of two adjacent frame segments. The frame length is in s (seconds). Optionally, let the first frame length be L1 and the second frame length be L2.

[0056] Since L1 and L2 are used to calculate the short-time energy value and the short-time kurtosis value respectively in the future, according to the short-time energy value characteristics and the short-time kurtosis value characteristics of the frame signal, the short-time energy value is related to the amplitude intensity of the signal and has a low correlation with the number of signals. The short-time kurtosis value is a distribution statistic of the signal and depends on a larger amount of data. In order to more accurately track the characteristic changes of the signal, in this embodiment, L1>L2 is set. Optionally, L1=0.01s and L2=0.5s can be selected. In the process of overlapping framing of the vibration signal, this embodiment selects different frame lengths for short-time energy and short-time kurtosis, wherein the frame length used to calculate the short-time energy is smaller than the frame length used to calculate the short-time kurtosis. At the same time, during the two framing processes, the frame shift ΔL remains consistent, thereby obtaining multiple first frame segments and multiple second frame segments.

[0057] S120 , respectively calculating a plurality of short-time energy values ​​and a plurality of short-time kurtosis values ​​according to the plurality of first frame segments and the plurality of second frame segments.

[0058] Short-time energy is the square sum of the amplitudes of the sampling points in the signal. It is more sensitive to points with higher amplitudes, so it can find effective signals. i The short-time energy of (n) can be expressed by formula (1):

[0059]

[0060] Where L represents the frame length and N represents the total number of frames.

[0061] Short-term kurtosis reflects the sharpness of the peak, that is, the degree of waveform flatness. Kurtosis is sensitive to shocks, and the kurtosis index decreases as the periodicity of the signal increases. Short-term kurtosis is defined as the kurtosis value of the signal in a short frame. The i-th frame segment x i The short-term kurtosis of (n) can be expressed by formula (2):

[0062]

[0063] Where μ represents the mean and σ represents the standard deviation, see formula (3) and formula (4) respectively.

[0064]

[0065]

[0066] In this embodiment, multiple first frame segments are input respectively, and the short-time energy value of each first frame segment is calculated using formula (1); multiple second frame segments are input respectively, and the short-time kurtosis value of each second frame segment is calculated using formulas (2) to (4), thereby obtaining the short-time energy stE(n) and short-time kurtosis stK(n) of the robot arm vibration signal.

[0067] S130 , determining endpoints of a vibration interval of the robotic arm from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values.

[0068] Short-term energy is low in a static vibration signal and high in motion. Therefore, it can be used to determine the endpoints of a vibration signal's vibration interval. However, during the transition from static to motion, i.e., during motor acceleration, the short-term energy increases, but with a delay. While short-term energy characteristics can detect motion phases, they can still have errors in endpoint determination.

[0069] Therefore, in the present invention, a combination of short-time energy and short-time kurtosis is used to determine the endpoints of the vibration interval of the robot arm vibration signal, where the endpoints include the starting point and the ending point of the vibration interval.

[0070] As for short-term kurtosis, a sharp point appears when the signal transitions from a stationary phase to a moving phase; a sharp point also appears when the signal transitions from a moving phase to a stationary phase. Therefore, this characteristic can be used as an important feature for determining the endpoints of the robot arm vibration signal.

[0071] Based on multiple short-time energy values ​​and multiple short-time kurtosis values, the endpoints of the vibration interval of the robotic arm are determined from the robotic arm vibration signal, that is, the starting point and the end point of the vibration interval of the robotic arm vibration signal are determined. For the robotic arm vibration signal, there can be one or more vibration intervals.

[0072] Optionally, before using the short-time energy value and short-time kurtosis value to determine the endpoints of the vibration interval of the manipulator vibration signal, the short-time energy can also be subjected to median filtering, that is, stE(n) is subjected to median filtering to eliminate wild points in the short-time energy characteristics and achieve the purpose of smoothing the characteristic curve. The implementation principle is to use a sliding window. When the window moves to the i-th point, v points are removed before and after the point, and the values ​​within these 2v+1 points are sorted in ascending order. The eigenvalue in the middle of the sequence is selected as the eigenvalue of the i-th point. The short-time energy sequence after median filtering is stEB(n).

[0073] By using the short-time kurtosis and the short-time energy after the center filter, the endpoints of the vibration interval of the manipulator are determined from the vibration signal of the manipulator, thereby realizing the segmentation of the motion state of the manipulator.

[0074] In this embodiment, short-time energy and short-time kurtosis can be simultaneously applied to the method of segmenting the motion state of the robot arm vibration signal, and the vibration signal characteristics can be used more fully, thereby improving the accuracy of vibration signal endpoint detection, and obtaining more and more accurate vibration information of the robot arm, providing a basis for the quality detection of the robot arm, and better ensuring the factory quality of the robot arm.

[0075] In the above Figure 1 Based on the provided method for segmenting the motion state of a robotic arm, the present invention also provides another possible implementation method for segmenting the motion state of a robotic arm. Figure 2 This is a flow chart of another method for segmenting the motion state of a robotic arm provided by the present invention. Figure 2 As shown, in the above S130, determining the endpoints of the vibration interval of the manipulator arm from the manipulator arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values ​​includes:

[0076] S210 , calculating a short-time energy interval according to a plurality of short-time energy values, and determining a target time period from a time period consisting of a plurality of first frame segments.

[0077] The threshold value is a key factor in endpoint determination, and its selection directly affects the effectiveness of endpoint determination. In this embodiment, multiple short-time energy values ​​can be used to select appropriate high and low threshold parameters to calculate the high and low dual threshold values ​​of the vibration signal, thereby obtaining a short-time energy interval. Based on the short-time energy values ​​and the high and low dual threshold values ​​of the vibration signal, a target time period can be determined within the time period consisting of multiple first frame segments. The target time period includes the starting point or ending point of the vibration interval of the vibration signal.

[0078] S220 : Determine endpoints of a vibration interval of the robot arm within a target time period based on the multiple short-term kurtosis values.

[0079] In this embodiment, the target time period is the range of the starting point or the ending point of the vibration interval obtained initially. Within the target time period, the endpoints of the vibration interval of the manipulator arm can be determined using multiple short-time kurtosis values ​​within the target time period, that is, the starting point and the ending point of the vibration interval of the manipulator arm can be finally determined.

[0080] In this embodiment, after obtaining the target time period through multiple short-time energy values ​​and preset short-time energy intervals, multiple short-time kurtosis values ​​are combined to finally obtain the endpoints of the robot arm vibration interval, thereby realizing a method for segmenting the robot arm motion state by combining short-time energy with short-time kurtosis.

[0081] In the above Figure 2 Based on another provided method for segmenting the motion state of a robotic arm, the present invention also provides a possible implementation method for determining a target time period. Figure 3 Schematic diagram of a method for determining a target time period provided by the present invention. Figure 3 As shown, in the above S210, the short-time energy interval is calculated based on the multiple short-time energy values, and the target time period is determined from the time period formed by the multiple first frame segments, including:

[0082] S310: If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, compare whether the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval.

[0083] The second frame number is a frame preceding the first frame number, and the first frame number is a label of any frame segment among the multiple first frame segments.

[0084] For a vibration signal, it is divided into multiple frame segments, each of which has a frame number to represent it. In this embodiment, the first frame number and the second frame number are both frame segment labels in multiple first frame segments. Optionally, any frame number is selected as the first frame number, and it is determined whether the short-time energy value of the first frame number is greater than the maximum value of the calculated short-time energy interval, that is, whether the short-time energy value of the frame segment corresponding to the first frame number is greater than the high threshold value of the vibration signal. If it is greater, the short-time energy value of the second frame number in the frame before the first frame number is compared to see whether it is less than the minimum value of the short-time energy interval, that is, whether the short-time energy value corresponding to the frame segment corresponding to the second frame number is less than the low threshold value of the vibration signal. Among them, the starting point position of the frame segment corresponding to the second frame number plus the frame shift can obtain the starting point of the frame segment corresponding to the first frame number.

[0085] S320: If the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, determine the preset time period before the second frame number as the first time period.

[0086] The target time period includes: a first time period.

[0087] If the short-time energy value of the frame segment corresponding to the second frame number is less than the minimum value of the short-time energy, that is, less than the lower threshold value of the vibration signal, then the preset time period before the second frame number is determined to be the first time period. In this embodiment, the preset time period moving forward from the end point of the frame segment corresponding to the second frame number is the start of the first time period, and the starting point of the frame segment corresponding to the second frame number is the end of the first time period.

[0088] In this embodiment, the first time period is a time period in which the starting point of the robot arm vibration interval exists.

[0089] In the above Figure 3 Based on the provided method for determining the target time period, optionally, in the above S220, determining the endpoints of the vibration interval of the robot arm within the target time period according to multiple short-term kurtosis values ​​includes:

[0090] S410: Determine a point corresponding to a maximum short-term kurtosis value in a first time period as a starting point of the robot arm in a vibration range.

[0091] After determining the first time period, the maximum value of all short-time kurtosis values ​​in the first time period is determined, and the point with the maximum short-time kurtosis value in the first time period is taken as the starting point of the robot arm in the vibration range.

[0092] In this embodiment, the frame segments are judged by using the short-time energy interval to obtain the time period of the starting point of the vibration interval of the robotic arm, and then the short-time kurtosis value is used to finally obtain the starting point of the robotic arm in the vibration interval, so that the endpoint judgment of the vibration interval is more accurate.

[0093] In the above Figure 2 Based on another provided method for segmenting the motion state of a robotic arm, the present invention also provides another possible implementation method for determining a target time period. Figure 4 Schematic diagram of another method for determining a target time period provided by the present invention. Figure 4 As shown, in the above S210, the short-time energy interval is calculated based on the multiple short-time energy values, and the target time period is determined from the time period consisting of the multiple first frame segments, and the following steps are also included:

[0094] S510: If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, compare whether the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval.

[0095] The third frame number is the frame following the first frame number.

[0096] A vibration signal is divided into multiple frame segments, each of which is represented by a frame number. In this embodiment, the first frame number and the third frame number are both frame segment labels in the multiple first frame segments. Optionally, any frame number is selected as the first frame number, and a determination is made as to whether the short-time energy value of the first frame number is greater than the maximum value of the calculated short-time energy interval, that is, whether the short-time energy value of the frame segment corresponding to the first frame number is greater than the high threshold value of the vibration signal. If so, the short-time energy value of the third frame number of the frame following the first frame number is compared to see whether it is less than the minimum value of the short-time energy interval, that is, whether the short-time energy value corresponding to the frame segment corresponding to the third frame number is less than the low threshold value of the vibration signal. The starting point of the frame segment corresponding to the third frame number can be obtained by adding the frame shift to the starting point position of the frame segment corresponding to the first frame number.

[0097] S520: If the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, determine the preset time period after the second frame number as the second time period.

[0098] The target time period also includes: a second time period.

[0099] If the short-time energy value of the frame segment corresponding to the third frame number is less than the minimum value of the short-time energy, that is, less than the lower threshold value of the vibration signal, then the preset time period after the third frame number is determined to be the second time period. In this embodiment, the starting point of the frame segment corresponding to the third frame number is the beginning of the second time period, and the preset time period moving backward from the end point of the frame segment corresponding to the third frame number is the end of the second time period.

[0100] In this embodiment, the second time period is a time period in which the end point of the robot arm vibration interval exists.

[0101] S610: Determine the point corresponding to the maximum short-term kurtosis value in the second time period as the end point of the vibration interval of the robotic arm.

[0102] After determining the second time period, the maximum value of all short-time kurtosis values ​​in the second time period is determined, and the point with the maximum short-time kurtosis value in the second time period is taken as the end point of the vibration range of the robotic arm.

[0103] In this embodiment, the frame segments are judged by using the short-time energy interval to obtain the time period of the starting point of the vibration interval of the robotic arm, and then the short-time kurtosis value is used to finally obtain the end point of the robotic arm in the vibration interval, so that the endpoint judgment of the vibration interval is more accurate.

[0104] In the above Figure 2 Based on another provided method for segmenting the motion state of a robotic arm, the present invention also provides a possible implementation method for calculating a short-time energy interval. Figure 5 The figure is a flow chart of a method for calculating short-time energy interval provided by the present invention. Figure 5As shown, in the above S210, the short-time energy interval is calculated based on multiple short-time energy values, including:

[0105] S710 , calculating an average value of short-time energies corresponding to all first frame segments within a preset static time period as an average short-time energy value.

[0106] In this method, the signal of the manipulator in a stationary state at the start of the signal is used to evaluate the noise level of the manipulator in a stationary state, thereby calculating the high and low double threshold values ​​of the vibration signal.

[0107] First, the average short-time energy of all first frame segments of the vibration signal in a preset static time period, such as 0.5 s, is calculated using formula (5), that is, the average short-time energy value slienceE.

[0108]

[0109] Where fs is the sampling frequency; ΔL is the frame shift; and m is the number of frames in 0.5 seconds.

[0110] Optionally, if the short-time energy is subjected to a center filter process, the average short-time energy value of the vibration signal within a preset static time period can be calculated using formula (6).

[0111]

[0112] S720: Calculate the maximum value of the short-time energy interval according to the average short-time energy value and a preset high threshold parameter value.

[0113] S730: Calculate the minimum value of the short-time energy interval according to the average short-time energy value and the preset high threshold parameter value.

[0114] On the basis of the average short-time energy value, according to the preset high threshold parameter value factorU and the preset low threshold parameter value factorL, the maximum value of the short-time energy interval is calculated using formula (7), that is, the high threshold value thU of the vibration signal is obtained; the minimum value of the short-time energy interval is calculated using formula (8), that is, the low threshold value thL of the vibration signal is obtained.

[0115] thU=factorU×slienceE Formula (7)

[0116] thL=factorL×slienceE Formula (8)

[0117] In this example, the average short-time energy value and the preset high and low threshold parameter values ​​are used to calculate the high threshold value and the low threshold value of the vibration signal, that is, to obtain the short-time energy interval.

[0118] Optionally, in the above Figure 2Based on another provided method for segmenting the motion state of a robotic arm, the present invention further includes:

[0119] S810 , updating the short-time energy interval according to the maximum short-time energy value in the current vibration interval of the robot arm to obtain a target short-time energy interval.

[0120] The target short-time energy interval is used to identify the endpoint of the next vibration interval of the current vibration interval from the vibration signal of the robot arm.

[0121] After the vibration range of the manipulator is determined, the maximum short-time energy value within the vibration range of the manipulator can be determined, recorded as maxE. Then, the new high threshold value thU1 is calculated using formula (9), and the new low threshold value thL1 is calculated using formula (10). ThU1 and thL1 are compared with the historical thU and thL, and the largest and most recent high and low threshold values ​​are selected, that is, the short-time energy range is updated to obtain the target short-time energy range. Since the vibration signal of the manipulator can have one or more vibration ranges, the target short-time energy range can be used to judge the next vibration range after obtaining the current vibration range, thereby achieving continuous updating of the short-time energy range and reducing the misjudgment rate.

[0122] thU1=slienceE+0.03×(maxE-slienceE) Formula (9)

[0123] thL1=slienceE+0.15×(maxE-slienceE) formula (10)

[0124] New high threshold value = max(thU,thU1);

[0125] New lower threshold value = max(thL,thL1);

[0126] In this embodiment, by continuously updating the threshold value, that is, after determining a vibration interval of the vibration signal, new high and low threshold values, that is, the target short-time energy interval, can be used to determine the target time period from the time period of multiple first frame segments.

[0127] In order to clearly illustrate the process of endpoint determination, this embodiment also provides a flowchart of endpoint determination. Figure 6 This is a flow chart of an endpoint decision provided by the present invention. Figure 6As shown, starting from the first frame of the vibration signal, frame by frame judgment is performed, that is, let i=1, and it is judged whether the short-time energy value stE(i) of the current frame is greater than the maximum value thU of the short-time energy interval. If less than, then starting from the first frame, frames are searched backward one by one, that is, let i=i+1, and it is judged whether the short-time energy value stE(i) of the next frame is greater than the maximum value thU of the short-time energy interval; if greater than, then compare whether the short-time energy value stE(a) of the previous frame of the current frame is less than the minimum value thL of the short-time energy interval; if the short-time energy value stE(a) of the previous frame is less than the minimum value thL of the short-time energy interval, then the preset time period (ak, a) before the previous frame is determined to be the first time period, and the point c corresponding to the maximum short-time kurtosis value in the first time period is determined to be the starting point of the robot arm in the vibration interval; if not, then continue to search forward, that is, let a=a-1, until a frame corresponding to the short-time energy value is found to be less than the minimum value thL of the short-time energy interval, thereby determining the starting point of the vibration interval;

[0128] At the same time, when the short-time energy value stE(i) of the current frame is greater than the maximum value of the short-time energy interval, while the current frame is searched forward to determine the starting point of the vibration interval, the current frame can be searched backward to determine the end point of the vibration interval. Specifically, compare whether the short-time energy value stE(b) of the next frame after the current frame is less than the minimum value thL of the short-time energy interval; if the short-time energy value stE(b) of the next frame is less than the minimum value thL of the short-time energy interval, then determine the preset time period (b, b+k) after the next frame as the second time period, and determine the point d corresponding to the maximum short-time kurtosis value in the second time period as the end point of the robotic arm in the vibration interval; if not, continue to search backward, that is, set b=b-1, until a frame corresponding to the short-time energy value is found that is less than the minimum value thL of the short-time energy interval, thereby determining the end point of the vibration interval;

[0129] Finally, it is necessary to determine whether d is the last frame of the vibration signal, that is, let the current frame i = d, continue to look for frames forward, that is, let i = 1+1, and determine whether the short-time energy value stE(i) of the current frame is greater than the maximum value thU of the short-time energy interval. If it is less than or equal to, the current frame is considered to be the last frame of the vibration signal, and finally all vibration intervals and the final high and low threshold values ​​of the vibration signal are output; if it is greater than, continue to look for the starting point and end point of the next vibration interval.

[0130] Figure 7 A schematic diagram of a robot arm motion state segmentation device provided by the present invention, such as Figure 6 As shown, the device includes:

[0131] The framing module 1000 is configured to perform framing processing on the robot arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain a plurality of first frame segments and a plurality of second frame segments, wherein the first frame length is smaller than the second frame length;

[0132] A calculation module 2000 is configured to calculate a plurality of short-time energy values ​​and a plurality of short-time kurtosis values ​​according to the plurality of first frame segments and the plurality of second frame segments;

[0133] The processing module 3000 is configured to determine endpoints of a vibration interval of the robotic arm from a vibration signal of the robotic arm according to a plurality of short-time energy values ​​and a plurality of short-time kurtosis values.

[0134] Optionally, the processing module 3000 is further specifically used to calculate the short-time energy interval based on multiple short-time energy values, and determine the target time period from the time period composed of multiple first frame segments; and determine the endpoints of the robotic arm vibration interval from the target time period based on multiple short-time kurtosis values.

[0135] Optionally, the processing module 3000 is further configured to compare, if the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, whether the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, wherein the second frame number is a frame preceding the first frame number, and the first frame number is a label of any frame segment among the plurality of first frame segments;

[0136] If the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, the preset time period before the second frame number is determined to be the first time period. The target time period includes: the first time period.

[0137] Optionally, the processing module 3000 is further configured to determine a point corresponding to a maximum short-term kurtosis value within the first time period as a starting point of the robotic arm in the vibration interval.

[0138] Optionally, the processing module 3000 is further configured to compare, if the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, whether the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, wherein the third frame number is a frame subsequent to the first frame number;

[0139] If the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, the preset time period after the second frame number is determined to be the second time period; the target time period also includes: the second time period.

[0140] Optionally, the processing module 3000 is further configured to determine a point corresponding to a maximum short-term kurtosis value in the second time period as an end point of the vibration interval of the robotic arm.

[0141] Optionally, the calculation module 2000 is further configured to calculate an average value of short-time energies corresponding to all first frame segments within a preset static time period as an average short-time energy value;

[0142] Calculate the maximum value of the short-time energy interval based on the average short-time energy value and the preset high threshold parameter value;

[0143] The minimum value of the short-time energy interval is calculated based on the average short-time energy value and the preset low threshold parameter value.

[0144] Optionally, the processing module 3000 is further specifically used to update the short-time energy interval based on the maximum short-time energy value in the current vibration interval of the robotic arm to obtain a target short-time energy interval. The target short-time energy interval is used to identify the endpoint of the next vibration interval of the current vibration interval from the robotic arm vibration signal.

[0145] The above modules can be one or more integrated circuits configured to implement the above methods, such as one or more application specific integrated circuits (ASICs), one or more digital signal processors (DSPs), or one or more field programmable gate arrays (FPGAs). For another example, when a module is implemented by scheduling program code through a processing element, the processing element can be a general-purpose processor, such as a central processing unit (CPU) or other processor that can call program code. For another example, these modules can be integrated together and implemented in the form of a system-on-a-chip (SOC).

[0146] Figure 8 This is a schematic diagram of a robot arm motion state segmentation device provided by the present invention. Figure 8 As shown, the robot arm motion state segmentation device 10 includes: a processor 11, a memory 12 and a bus 13. The memory 12 stores program instructions executable by the processor 11. When the robot arm motion state segmentation device 10 is running, the processor 11 and the memory 12 communicate through the bus 13, and the processor 11 executes the program instructions to execute the above method embodiment.

[0147] Optionally, the present invention further provides a program product, such as a computer-readable storage medium, comprising a program, which is used to perform the above method embodiment when executed by a processor.

[0148] In the several embodiments provided by the present invention, it should be understood that the disclosed devices and methods can be implemented in other ways. For example, the device embodiments described above are merely illustrative. For example, the division of the units is merely a logical function division. In actual implementation, there may be other division methods, such as multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.

[0149] The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of these units may be selected to achieve the purpose of this embodiment according to actual needs.

[0150] In addition, the functional units in various embodiments of the present invention may be integrated into a single processing unit, each unit may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or hardware plus software functional units.

[0151] The above-mentioned integrated unit implemented in the form of a software functional unit can be stored in a computer-readable storage medium. The above-mentioned software functional unit is stored in a storage medium and includes a number of instructions for causing a computer device (which can be a personal computer, server, or network device, etc.) or a processor (English: Processor) to perform some steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (English: Read-Only Memory, abbreviated: ROM), a random access memory (English: Random Access Memory, abbreviated: RAM), a magnetic disk or an optical disk, and other media that can store program code.

[0152] The above description is merely a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in the present invention should be included in the scope of protection of the present invention. Therefore, the scope of protection of the present invention should be based on the scope of protection of the claims.

Claims

1. A method for segmenting the motion state of a robotic arm, characterized in that: The method comprises: According to a preset first frame length and a second frame length, the robot arm vibration signal is frame-processed to obtain a plurality of first frame segments and a plurality of second frame segments, wherein the first frame length is smaller than the second frame length; Calculating short-time energy values ​​corresponding to the plurality of first frame segments and short-time kurtosis values ​​corresponding to the plurality of second frame segments respectively according to the plurality of first frame segments and the plurality of second frame segments; determining, from the vibration signal of the robotic arm, endpoints of a vibration interval in which the robotic arm is located, according to the plurality of short-time energy values ​​and the plurality of short-time kurtosis values; Determining the endpoints of the vibration interval of the robotic arm from the robotic arm vibration signal according to the multiple short-time energy values ​​and the multiple short-time kurtosis values ​​includes: Calculating a short-time energy interval according to the plurality of short-time energy values, and determining a target time period within a time period formed by the plurality of first frame segments; The endpoints of the robot arm vibration interval are determined within the target time period according to the multiple short-term kurtosis values.

2. The method according to claim 1, characterized in that The calculating of the short-time energy interval according to the plurality of short-time energy values, and determining the target time period within the time period formed by the plurality of first frame segments, comprises: If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, comparing whether the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, wherein the second frame number is a frame before the first frame number, and the first frame number is the number of any frame segment in the multiple first frame segments; If the short-time energy value of the second frame number is less than the minimum value of the short-time energy interval, the preset time period before the second frame number is determined to be the first time period, and the target time period includes: the first time period.

3. The method according to claim 2, characterized in that The step of determining the endpoints of the robot arm vibration interval within the target time period based on the multiple short-term kurtosis values ​​includes: A point corresponding to the maximum short-time kurtosis value in the first time period is determined as the starting point of the robotic arm in the vibration interval.

4. The method according to claim 2, characterized in that The method further includes calculating a short-time energy interval based on the plurality of short-time energy values ​​and determining a target time period within a time period formed by the plurality of first frame segments: If the short-time energy value of the first frame number is greater than the maximum value of the short-time energy interval, comparing whether the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, wherein the third frame number is a frame subsequent to the first frame number; If the short-time energy value of the third frame number is less than the minimum value of the short-time energy interval, the preset time period after the second frame number is determined to be the second time period; the target time period also includes: the second time period.

5. The method according to claim 4, characterized in that The step of determining the endpoints of the vibration interval of the robotic arm from the robotic arm vibration signal based on the multiple short-time energy values ​​and the multiple short-time kurtosis values ​​further includes: The point corresponding to the maximum short-time kurtosis value in the second time period is determined as the end point of the robotic arm in the vibration interval.

6. The method according to claim 1, characterized in that The calculating of the short-time energy interval according to the plurality of short-time energy values ​​includes: Calculate the average value of the short-time energy corresponding to all first frame segments in the preset static time period as an average short-time energy value; Calculating the maximum value of the short-time energy interval according to the average short-time energy value and a preset high threshold parameter value; The minimum value of the short-time energy interval is calculated according to the average short-time energy value and a preset low threshold parameter value.

7. The method according to claim 1, characterized in that The method further comprises: According to the maximum short-time energy value in the current vibration interval of the robotic arm, the short-time energy interval is updated to obtain a target short-time energy interval, and the target short-time energy interval is used to identify the endpoint of the next vibration interval of the current vibration interval from the robotic arm vibration signal.

8. A robot arm motion state segmentation device, characterized in that: The device comprises: A framing module is configured to perform framing processing on the robot arm vibration signal according to a preset first frame length and a second frame length, respectively, to obtain a plurality of first frame segments and a plurality of second frame segments, wherein the first frame length is smaller than the second frame length; a calculation module, configured to calculate, based on the plurality of first frame segments and the plurality of second frame segments, short-time energy values ​​corresponding to the plurality of first frame segments and short-time kurtosis values ​​corresponding to the plurality of second frame segments; a processing module, configured to determine endpoints of a vibration interval of the robotic arm from the robotic arm vibration signal according to the plurality of short-time energy values ​​and the plurality of short-time kurtosis values; The processing module is specifically further used to calculate the short-time energy interval based on multiple short-time energy values, and determine the target time period from the time period composed of multiple first frame segments; and determine the endpoints of the robot arm vibration interval from the target time period based on multiple short-time kurtosis values.

9. A computer-readable storage medium, characterized in that The storage medium stores a computer program, and when the computer program is executed by a processor, the steps of segmenting the motion state of the robot arm according to any one of claims 1 to 7 are executed.

Citation Information

Patent Citations

  • Method for determining waveform slope threshold of short-time energy frequency values in voice endpoint detection

    CN101625859A

  • Speech signal endpoint detection method based on dynamic cumulant estimation

    CN104810018A