A method and device for identifying fancy rope skipping

By combining a 3-axis accelerometer and a 3-axis gyroscope in the smart skipping rope to form quaternion data, and performing filtering and feature window processing, the problem that smart skipping rope devices are difficult to identify cross-actions offline is solved, and efficient cross-action recognition and mixed skipping rope number statistics are achieved.

CN116304827BActive Publication Date: 2025-09-19GUANGDONG ICOMON TECH CO LTD

Patent Information

Application Number
CN202310289474.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-03-22
Publication Date
2025-09-19
Estimated Expiration
2043-03-22

AI Technical Summary

Technical Problem

Existing smart rope skipping devices have difficulty in identifying cross-type movements offline at the rope skipping end. They usually need to collect data from multiple sensors and transmit it to terminal devices such as mobile phones for identification, which is costly.

Method used

A 3-axis acceleration sensor and a 3-axis gyroscope are combined with a classifier. The acceleration and angular velocity data are fused to form a quaternion, which is then processed by bandpass filtering and Kalman filtering to identify cross-actions. The feature window and classifier are then used to determine whether it is a cross-action.

Benefits of technology

The simple offline recognition of cross-actions at the rope skipping end is realized, which reduces resource consumption, improves recognition efficiency, and can accurately count the number of rope skipping with mixed cross-actions and single-swing jumps.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116304827B_ABST
    Figure CN116304827B_ABST
Patent Text Reader

Abstract

The present invention discloses a method for identifying fancy rope skipping. The rope skipping device includes a 3-axis acceleration sensor, a 3-axis gyroscope, and a classifier. The 3-axis acceleration sensor is used to collect acceleration data of the 3 axes, and the 3-axis gyroscope is used to collect angular velocity data of the 3 axes. The acceleration and angular velocity data of the rope skipping are collected at the same sampling rate. The acquired angular velocity and acceleration data are fused into a quaternion. Each axis of the quaternion is subjected to a simplified bandpass filtering process. A feature window T1 within a preset time period is determined and searched. Feature data within the feature window T1 is extracted. The data in the feature window is input into a classifier, and the classifier identifies and determines whether it is a crossover action and performs a validity judgment. The present invention utilizes the quaternion data formed by the fusion of acceleration and angular velocity data to identify crossover actions in fancy rope skipping. This method does not require excessive resource consumption and can complete offline recognition at the rope skipping end.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of rope skipping identification and processing, and in particular to a method and device for identifying fancy rope skipping. Background Art

[0002] Currently, the existing technical solutions for digital skipping ropes on the market that can identify fancy skipping movements at the end of the rope mostly use acceleration sensors to identify double-shake or multi-shake movements, but lack the recognition of some cross-type movements. Cross-jumping rope refers to the process of skipping rope, in which the left hand moves to the right side of the body and the right hand moves to the left side of the body, forming a cross in front of or behind the body, and then the left hand returns to the left side of the body and the right hand returns to the right side of the body, restoring to the normal skipping movement. It is also called fancy cross-jumping rope.

[0003] To save costs, smart jump ropes generally don't use high-end chips. Therefore, some existing jump rope devices that can recognize cross-training movements only serve as data collection devices, requiring data collected through multiple sensors and then transmitted to mobile devices such as mobile phones for recognition. Offline recognition is not possible. Therefore, a simple and offline device recognition method suitable for jump rope devices is needed. Summary of the Invention

[0004] The present invention aims to solve at least one of the technical problems existing in the prior art. To this end, the present invention provides a method and device for identifying fancy rope skipping.

[0005] An embodiment of the present invention solves the technical problem by adopting a technical solution: a method for identifying fancy rope skipping, wherein the rope skipping device includes a 3-axis acceleration sensor, a 3-axis gyroscope, and a classifier; the 3-axis acceleration sensor is used to collect acceleration data of the 3 axes, and the 3-axis gyroscope is used to collect angular velocity data of the 3 axes;

[0006] The method for identifying fancy rope skipping comprises the following steps:

[0007] S1: Collect the acceleration and angular velocity data of the skipping rope at the same sampling rate;

[0008] S2: Fusion of angular velocity and acceleration data obtained by S1 into quaternion;

[0009] S3: Simplify the process of bandpass filtering each axis of the quaternion obtained in S2;

[0010] S4: Determine and search for the characteristic window T1 of the queue after the simplified processing in S3 within the preset time period;

[0011] S5: Extract feature data within feature window T1 in each axis of the quaternion in S4;

[0012] S6: Input the data of the feature window in S5 into the classifier, and the classifier identifies and determines whether the feature data in the feature window T1 is a cross action;

[0013] S7: Validity judgment is performed on the feature window T1 identified as the cross action in S6.

[0014] Preferably, step S31 is further included between step S3 and step S4; step S31 is: performing Kalman filtering on the data after bandpass filtering in step S3.

[0015] Preferably, the specific method of step S4: determining and searching the characteristic window T1 of the queue after the simplified processing in S3 within the preset time period is as follows:

[0016] S41: Data cache, a queue is reserved to cache at least 2s of quaternion data and acceleration raw data after Kalman filtering. If the data in the queue is less than 2s, each new sample data is directly pushed into the queue. When the data in the queue is full, the earliest pushed data is deleted and the new data is pushed in.

[0017] S42: Cache threshold: When the data in the queue is larger than 1s, feature search will be started every time new data is pushed in. If it is smaller than the threshold, no search will be performed.

[0018] S43: Find the maximum "peak-valley-peak" of the quaternion: Search the data of the queue points of each axis of the quaternion. If "current point" > "previous point" and "current point" > "next point", record it as a "peak"; if "current point" < "previous point" and "current point" < "next point", record it as a "valley". The value M1 of the "peak-valley-peak" is the value of the previous "peak" minus the "valley" plus the value of the next "peak" minus the "valley".

[0019] S44: Expand the maximum "peak-valley-peak" found for the four axes of the quaternion to obtain the feature window T1: Sort the position of the first peak of the maximum "peak-valley-peak" of M1 recorded for each axis of the quaternion, and the "peak" at the front, that is, the one with the smallest corresponding sampling number, is the left boundary; Sort the position of the second peak of the maximum "peak-valley-peak" recorded for each axis, and the "peak" at the back, that is, the one with the largest corresponding sampling number, is the right boundary. The left and right boundaries are the boundaries of the feature window T1.

[0020] Preferably, the step S5: extracting feature data in the feature window T1 of each axis of the quaternion in S4 includes the following data features:

[0021] Feature a1, the maximum “peak-to-valley” value M1 of each axis of the quaternion;

[0022] Feature b1, the width of the maximum “peak-to-valley” of each axis of the quaternion;

[0023] Feature c1, among the four axes of the quaternion, the axis with the largest peak-to-valley peak appears;

[0024] Feature d1, the amplitude of the first "peak" minus the amplitude of the second "peak" of the maximum "peak-to-valley" of each axis of the quaternion;

[0025] Feature e1, how many "peaks and valleys" does the quaternion have on each axis;

[0026] Feature f1, the average energy of acceleration within the feature window T1;

[0027] Feature g1, the average change in acceleration within the feature window T1.

[0028] Preferably, step S51 is provided between step S5 and step S6; step S51 is: data shifting, the value of the maximum "peak-to-valley" of the feature window T1 is greater than the threshold A1, the midpoint of the position of the maximum "peak-to-valley" is calculated, and the data sampled before the midpoint and cached in the queue are removed from the queue.

[0029] Preferably, in step S6, the data of the feature window in S5 is input into a classifier, and the method for the classifier to identify and determine whether the feature data in the feature window T1 is a cross action is a feature threshold method or a classifier training method;

[0030] Feature threshold method sets corresponding thresholds for each feature in the feature window T1. When one or more features meet the threshold requirements, a cross action is identified.

[0031] The classifier label training method collects a large amount of rope skipping data, searches for the feature window T1 and extracts features, and labels the feature window according to the actual situation, 1 represents crossing, and 0 represents non-crossing; the classifier is trained using features and labels. When we substitute the extracted features into the trained classifier, the classifier outputs 1, which means that a crossing action is recognized.

[0032] Preferably, the step S7: performing validity judgment on the feature window T1 identified as the cross motion in S6 is a judgment on the valid angular velocity pulse, specifically as follows:

[0033] S71: Perform arithmetic fusion on the angular velocities of the x, y, and z axes, i.e., add the results of the three axes to capture the rotation on the three axes, and cache the fused data for 2 seconds.

[0034] S72: performing band-pass filtering on the data fused in S71;

[0035] S73: Find a "valley-peak-valley" that meets the conditions and define it as an angular velocity pulse. The specific method is as follows: define a "valley" as the point where both the previous sampling point and the next sampling point are greater than the current point, and the current point is defined as a "valley"; define a "peak" as the point where both the previous sampling point and the next sampling point are less than the current point, and the current point is defined as a "peak"; find the "valley" and record the point with the smallest "valley" and its position; find the "peak" and record the point with the largest "peak" and its position;

[0036] When the value of the maximum peak minus the minimum valley is greater than threshold 1, the maximum peak is greater than threshold 2, the minimum valley is less than threshold 3, and the maximum peak is located behind the minimum valley, the minimum valley is recorded as the first target valley G1, the cached minimum valley is cleared, and the minimum valley search is performed again;

[0037] Continue to search for valleys and save the smallest valley. When the maximum peak minus the smallest valley is greater than threshold 1, the maximum peak is greater than threshold 2, the smallest valley is less than threshold 3, and the smallest valley is behind the maximum peak, record the maximum peak as the first target peak F1, clear the cached maximum peak, and search for the maximum peak again.

[0038] Find the first target "valley" again. Two adjacent first target valleys sandwich a first target peak, forming a "valley-peak-valley" as the angular velocity pulse;

[0039] S74: Calculate the acceleration energy and angular velocity energy between the pulse start point and the end point;

[0040] S75: If the acceleration energy is greater than the threshold value 4 and the angular velocity energy is greater than the threshold value 5, the pulse is set as a valid pulse.

[0041] Preferably, the threshold 1 is 300, the threshold 2 is -300, the threshold 3 is 700, the threshold 4 is 1.5, and the threshold 5 is 270.

[0042] Preferably, the fancy rope skipping identification method further comprises step S8 after step S7;

[0043] S8: Count the number of jumps when performing a mixed cross jump and a single swing jump. After each cross jump is identified using the quaternion, subtract 1 from the number of valid pulses calculated by the gyroscope to obtain the exact number of single swing jumps when performing a mixed cross jump and a single swing jump.

[0044] This application also proposes a device that can identify rope skipping patterns, applying the above-mentioned fancy rope skipping identification method.

[0045] The beneficial effects of the present invention are as follows: the acceleration and angular velocity data are used to fuse the quaternion data to identify the crossover movements in fancy rope skipping, which does not require consuming too many resources and can be completed offline at the rope skipping end. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] The above and / or additional aspects and advantages of the present invention will become apparent and readily understood from the following description of the embodiments with reference to the accompanying drawings, in which:

[0047] Figure 1 The three-axis acceleration data in one embodiment;

[0048] Figure 2 The three-axis angular velocity data in one embodiment;

[0049] Figure 3 for Figure 1 The acceleration and Figure 2 The waveform after the angular velocity is fused into the quaternion;

[0050] Figure 4 for Figure 3 The waveform of the middle waveform after bandpass filtering and Kalman filtering;

[0051] Figure 5 A waveform diagram of one axis of a quaternion waveform in one embodiment;

[0052] Figure 6 This is a demonstration of searching and determining a characteristic window T1 in a quaternion waveform in one embodiment;

[0053] Figure 7 This is a waveform diagram of the three-axis angular velocity after bandpass filtering in one embodiment;

[0054] Figure 8 For Figure 7 The first target “valley” of the “peak-to-valley” of the angular velocity of one axis is shown in the figure, and the asterisk represents the first target “peak”;

[0055] Figure 9 This is a waveform diagram of a crossover and single shake mixed dance in one embodiment. DETAILED DESCRIPTION

[0056] This section will describe in detail the specific embodiments of the present invention. The preferred embodiments of the present invention are shown in the accompanying drawings. The purpose of the accompanying drawings is to supplement the description of the text part of the specification with graphics, so that people can intuitively and vividly understand each technical feature and the overall technical solution of the present invention, but it should not be understood as a limitation on the scope of protection of the present invention.

[0057] In the description of this invention, "above," "below," and "within" are understood to be exclusive of the number indicated. The terms "first" and "second" are used solely to distinguish technical features and are not to be construed as indicating or implying relative importance, or as implicitly specifying the number or order of the technical features indicated.

[0058] In the description of the present invention, it should be understood that descriptions involving orientations, such as up, down, front, back, left, right, etc., indicating orientations or positional relationships, are based on the orientations or positional relationships shown in the accompanying drawings. They are only for the convenience of describing the present invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, be constructed and operated in a specific orientation. Therefore, they cannot be understood as limitations on the present invention.

[0059] In the present invention, unless otherwise expressly defined, terms such as "disposed," "installed," and "connected" should be interpreted broadly. For example, they may refer to direct connection or indirect connection through an intermediate medium; fixed connection or detachable connection or integral molding; mechanical connection; and internal communication between two components or interaction between two components. Those skilled in the art can reasonably determine the specific meanings of these terms in the present invention based on the specific content of the technical solution.

[0060] Example

[0061] The present invention proposes a method for identifying fancy rope skipping, wherein the rope skipping device includes a 3-axis acceleration sensor, a 3-axis gyroscope and a classifier; the 3-axis acceleration sensor is used to collect acceleration data of the 3 axes, and the 3-axis gyroscope is used to collect angular velocity data of the 3 axes;

[0062] Methods for identifying fancy rope skipping include:

[0063] Step S1: Collect the acceleration and angular velocity data of the skipping rope at the same sampling rate; for example, Figure 1 The three-axis acceleration data is collected at a sampling rate of 50 Hz, and the unit is g; Figure 2 The three-axis angular velocity data is collected at a sampling rate of 50 Hz, and the unit is degree / second.

[0064] Step S2: Fuse the angular velocity and acceleration data obtained in S1 into quaternions. Fusing angular velocity and acceleration into quaternions is an existing technology and is widely used in the field of drones. Quaternions can be used to represent the posture of an object. Figure 3 As shown, Figure 1 The acceleration and Figure 2 The waveform after the angular velocity is fused into the quaternion.

[0065] Step S3: Simplify the bandpass filtering process by individually performing bandpass filtering on each axis of the quaternion obtained in S2. The processing range of the bandpass filter is 0.5~6Hz, which is the frequency range of rope skipping for general users. Its main function is to suppress the low-frequency components when there is no exercise and highlight the signal during exercise.

[0066] Preferably, step S31 is further included between step S3 and step S4; step S31 is: performing Kalman filtering on the data after the bandpass filtering in step S3, in order to make the signal smoother and reduce the complexity of subsequent signal processing. Figure 4 for Figure 3 The waveform in the figure is processed by bandpass filtering and Kalman filtering.

[0067] S4: Determine and search for the characteristic window T1 of the queue after the simplified processing in S3 within the preset time period; the specific method is as follows:

[0068] S41: Data cache, a queue is reserved to cache at least 2s of quaternion data and acceleration raw data after Kalman filtering. If the data in the queue is less than 2s, each new sample data is directly pushed into the queue. When the data in the queue is full, the earliest pushed data is deleted and the new data is pushed in.

[0069] S42: Cache threshold: When the data in the queue is greater than 1s, feature search will be started every time new data is pushed in. If it is less than the 1S threshold, no search will be performed, which can reduce the number and time of algorithm runs.

[0070] S43: Find the maximum "peak-valley-peak" of the quaternion: Search the data of the queue points of each axis of the quaternion. If "current point" > "previous point" and "current point" > "next point", record it as a "peak"; if "current point" < "previous point" and "current point" < "next point", record it as a "valley". The value M1 of the "peak-valley-peak" is the value of the previous "peak" minus the "valley" plus the value of the next "peak" minus the "valley".

[0071] For a two-dimensional curve, "peaks" and "valleys" appear alternately, so there must be a "valley" between two "peaks". Figure 5 As shown in the figure, the arrow above the framed part points to the "peak" and the arrow below points to the "valley". The value M1 of "peak-to-valley" is the value of the previous "peak" minus the "valley" plus the value of the next "peak" minus the "valley". For example, Figure 5In the example, 1-2+3-2, 3-4+5-4, and 5-6+7-6 are all peak-to-valley values ​​M1. Find the one with the largest value among all the peak-to-valley values ​​and record the position, amplitude, and peak-to-valley value of the peak and valley, recording each axis separately. The position data is recorded using the sampling sequence number of the data entry.

[0072] S44: Expand the maximum “peak-to-valley peak” found along the four axes of the quaternion to obtain the feature window T1:

[0073] The specific expansion method is to sort the positions of the first peak of the largest "peak-to-valley" of M1 recorded for each axis of the quaternion, with the peak closest to the front, that is, the peak with the smallest sampling number, as the left boundary. The second peak of the largest "peak-to-valley" recorded for each axis is sorted, with the peak closest to the back, that is, the peak with the largest sampling number, as the right boundary. The left and right boundaries are the boundaries of the feature window T1. Expanding the feature window is to include more information to avoid missing some important features during action recognition. Figure 6 The dotted line frame is the feature window T1, and the feature window T1 is numbered, such as 0, 1, 2, 3, 4, etc. The data in the feature window is used for feature extraction. Figure 6 The figure shows the feature window after quaternion expansion.

[0074] Step S5: Extract feature data within the feature window T1 of each axis of the quaternion in S4; including the following data features:

[0075] Feature a1, the maximum “peak-to-valley” value M1 of each axis of the quaternion;

[0076] Feature b1, the width of the maximum "peak-to-valley" of each axis of the quaternion; that is, the sampling number of the second "peak" minus the sampling number of the first "peak".

[0077] Feature c1, among the four axes of the quaternion, the axis with the largest peak-to-valley peak appears;

[0078] Feature d1, the amplitude of the first "peak" minus the amplitude of the second "peak" of the maximum "peak-to-valley" of each axis of the quaternion;

[0079] Feature e1, how many "peaks and valleys" does the quaternion have for each axis; after window expansion, some axes may have multiple peaks.

[0080] Feature f1, the average acceleration energy within the feature window T1; it is calculated by squaring the acceleration sampling points of each axis within the window and then averaging them, and finally accumulating the three axes.

[0081] Feature g1, the average acceleration change within feature window T1, is calculated by subtracting the previous acceleration sampling value from the next acceleration sampling value on each axis within the window and taking the absolute value. These absolute values ​​are then averaged and summed over the three axes.

[0082] Preferably, step S51 is provided between steps S5 and S6. Step S51 comprises: data shifting. When the maximum "peak-to-valley" value of feature window T1 is greater than threshold A1 (threshold A1 can be set to 1.5), the midpoint of this maximum "peak-to-valley" position is calculated (the sum of the positions of the first and second peaks, divided by 2). Data sampled before this midpoint and cached in the queue are then removed from the queue. Data shifting can reduce unnecessary computations. Since it is meaningless to have two feature windows too close together, it is impossible to complete a crossover in such a short time. Therefore, skipping some data points can reduce the algorithm's computational complexity.

[0083] Step S6: inputting the data of the feature window in S5 into the classifier, and the classifier identifies and determines whether the feature data in the feature window T1 is a cross action;

[0084] The method for the classifier to identify and determine whether the feature data in the feature window T1 is a cross action is a feature threshold method or a classifier training method;

[0085] The first method uses a feature threshold method. This method sets thresholds for each feature within feature window T1. When one or more features meet these thresholds, a cross-motion is identified. For example, if the maximum peak-to-valley value is greater than 1.7 and the average acceleration energy is greater than 20, the data within that feature window is considered a cross-motion.

[0086] The second method is the classifier label training method. It selects a suitable machine learning model, such as decision tree, SVM, XGBoost, logistic regression, etc. First, collect a large amount of rope skipping data, find the feature window T1 and extract features, and label the feature window according to the actual situation. 1 represents a cross action and 0 represents a non-cross action. The feature window needs to contain cross and non-cross actions, and the samples are relatively balanced. The ideal ratio is 1:1. If the cross and non-cross samples differ too much, resampling is required to make the cross and non-cross sample size close to 1:1. Use features and labels to train the classifier. The trained classifier can be added to the algorithm for action recognition. When we substitute the extracted features into the classifier, the classifier output 1 means that a cross action has been recognized.

[0087] The training of the classifier is separate from the final device. The final rope skipping device uses the trained classifier to identify the cross-action.

[0088] Step S7: Make a validity judgment on the feature window T1 identified as a cross action in S6. For a successful cross action, we require that no tripping rope occurs during the completion of the action. If a tripping rope occurs, the cross action cannot be judged as valid. The basis for judgment is that after the cross action is identified, within the timeout period, for example 1.3s, it can be detected that the angular velocity signal has a valid pulse output, then it is considered that no tripping rope occurs, and the previously identified cross action is valid. Because the change in angular velocity can tell whether the skipping rope handle is rotating, if it stops rotating, the angular velocity will not change significantly. Therefore, the validity judgment of the cross action is mainly judged by the effective angular velocity pulse, that is, the 3-axis gyroscope collects angular velocity data of the 3 axes;

[0089] The specific method is as follows:

[0090] S71: Perform arithmetic fusion on the angular velocities of the x, y, and z axes, i.e., add the results of the three axes to capture the rotation on the three axes, and cache the fused data for 2 seconds.

[0091] S72: Perform bandpass filtering on the data fused in S71; for example Figure 7 As shown in FIG. 1 , it is a waveform diagram of the three-axis angular velocity after band-pass filtering in one embodiment, where Gyro_X+Y+Z is the result of adding the three-axis angular velocity and Gyro_X+Y+Z_filt is the result of performing a 0.5-6 Hz band-pass filtering on the sum.

[0092] S73: Find the “valley peak valley” that meets the conditions and define it as an angular velocity pulse. The specific method is as follows;

[0093] Define "valley", if both the previous sampling point and the next sampling point are greater than the current point, the current point is defined as the "valley";

[0094] Define "peak". If both the previous sampling point and the next sampling point are smaller than the current point, the current point is defined as the "peak".

[0095] Find the "valley" and record the smallest point in the "valley" and its location;

[0096] Find the peak and record the largest point of the peak and its location;

[0097] When the value of the maximum peak minus the minimum valley is greater than the threshold, the maximum peak is greater than threshold 2, the minimum valley is less than threshold 3, and the maximum peak is located behind the minimum valley, the minimum valley is recorded as the first target valley G1, the cached minimum valley is cleared, and the minimum valley search is performed again;

[0098] Continue to search for valleys and save the smallest valley. When the maximum peak minus the smallest valley is greater than threshold 1, the maximum peak is greater than threshold 2, the smallest valley is less than threshold 3, and the smallest valley is behind the maximum peak, record the maximum peak as the first target peak F1, clear the cached maximum peak, and search for the maximum peak again.

[0099] Find the first target "valley" again. Two adjacent first target valleys sandwich a first target peak, forming a "valley-peak-valley" as the angular velocity pulse;

[0100] The above thresholds can be obtained by continuing to collect statistics on the data. For example, threshold 1 is defined as 300, threshold 2 is defined as -300, and threshold 3 is defined as 700.

[0101] For example Figure 8 As shown, the circle represents the first target "valley", the asterisk represents the first target "peak", and a group of "valley-peak-valley" constitutes a pulse. The starting point of the pulse is the previous first target "valley", and the end point of the pulse is the next first target "valley". The next first target "valley" is the starting point of the next pulse, and so on.

[0102] In the window search process of "valley peak valley" as angular velocity pulse, if the "valley peak valley" is not found within the timeout, the cached maximum "peak" and minimum "valley" are cleared and the search is performed again. The timeout threshold can be set to 1.3s.

[0103] S74: Calculate the acceleration energy and angular velocity energy between the pulse start point and the end point;

[0104] The acceleration energy is calculated by taking the average of the squares of the three axis sampling points between the starting point and the end point (Pa). The calculation formula is as follows:

[0105]

[0106] The angular velocity energy is the absolute value of the fused angular velocity (X+Y+Z) between the starting point and the end point, and then the average (Pg). The calculation formula is as follows:

[0107]

[0108] S75: If the acceleration energy is greater than threshold 4 and the angular velocity energy is greater than threshold 5, the pulse is considered a valid pulse. Based on observation and summary of a large amount of data, it can be concluded that threshold 4 is 1.5 and threshold 5 is 270.

[0109] Preferably, the method for identifying fancy rope skipping further includes step S8 after step S7;

[0110] S8: Count the number of jumps when performing a mixed cross jump and a single swing jump. After each cross jump is identified using the quaternion, subtract 1 from the number of valid pulses calculated by the gyroscope to obtain the exact number of single swing jumps when performing a mixed cross jump and a single swing jump.

[0111] Due to structural design reasons, smart skipping ropes that generally use Hall sensors to count the number of jumps cannot accurately count the number of jumps when a combination of cross jumps and single jumps is performed. In this case, the algorithm of the present invention can accurately count the number of single jumps and cross jumps respectively.

[0112] The waveform of cross and single shake mixed jump is as follows Figure 9 In the waveform below, the pulse with a larger width indicates a crossover, and the pulse with a smaller width indicates a single shake. At the beginning, there are two consecutive single shakes, followed by an alternating pattern of crossover and single shakes.

[0113] Therefore, when we use quaternions to identify each cross jump, we subtract 1 from the number of valid pulses calculated by the gyroscope, and we can get the exact number of single shake and cross jumps when the cross and single shake jumps are mixed.

[0114] In the present invention, the acceleration and angular velocity data are used to fuse the quaternion data to identify the crossover movements in fancy rope skipping. This does not require consuming too many resources and can be completed offline at the rope skipping end.

[0115] This application also proposes a device that can identify rope skipping patterns, applying the above-mentioned fancy rope skipping identification method.

[0116] Of course, the present invention is not limited to the above-mentioned embodiments. Those skilled in the art may make equivalent modifications or substitutions without violating the spirit of the present invention. These equivalent modifications and substitutions are all included in the scope defined by the claims of this application.

Claims

1. A method for identifying fancy rope skipping, characterized in that: The skipping rope includes a 3-axis acceleration sensor, a 3-axis gyroscope and a classifier; the 3-axis acceleration sensor is used to collect acceleration data of the 3 axes, and the 3-axis gyroscope is used to collect angular velocity data of the 3 axes; The method for identifying fancy rope skipping comprises the following steps: S1: Collect the acceleration and angular velocity data of the skipping rope at the same sampling rate; S2: Fusion of angular velocity and acceleration data obtained by S1 into quaternion; S3: Simplify the process of bandpass filtering each axis of the quaternion obtained in S2; S4: Determine and search for the characteristic window T1 of the queue after the simplified processing in S3 within the preset time period; S5: Extract feature data within feature window T1 in each axis of the quaternion in S4; S6: Input the data of the feature window in S5 into the classifier, and the classifier identifies and determines whether the feature data in the feature window T1 is a cross action; S7: Validity judgment of the feature window T1 identified as the cross action in S6; Between step S3 and step S4, step S31 is further included; step S31 is: performing Kalman filtering on the data after the bandpass filtering in step S3; The specific method of step S4: determining and searching for the characteristic window T1 of the queue after the simplified processing in S3 within the preset time period is as follows: S41: Data cache, a queue is reserved to cache at least 2s of quaternion data and acceleration raw data after Kalman filtering. If the data in the queue is less than 2s, each new sample data is directly pushed into the queue. When the data in the queue is full, the earliest pushed data is deleted and the new data is pushed in. S42: Cache threshold: When the data in the queue is larger than 1s, feature search will be started every time new data is pushed in. If it is smaller than the threshold, no search will be performed. S43: Find the maximum "peak-valley-peak" of the quaternion: Search the data of the queue points of each axis of the quaternion. If "current point" > "previous point" and "current point" > "next point", record it as a "peak"; if "current point" < "previous point" and "current point" < "next point" record it as a "valley". The value M1 of the "peak-valley-peak" is the value of the previous "peak" minus the "valley" plus the value of the next "peak" minus the "valley". S44: Expand the maximum "peak-valley peak" found for the four axes of the quaternion to obtain the feature window T1: Sort the position of the first peak of the maximum "peak-valley peak" of M1 recorded for each axis of the quaternion, and the "peak" at the front, that is, the one with the smallest corresponding sampling number, is the left boundary; sort the position of the second peak of the maximum "peak-valley peak" recorded for each axis, and the "peak" at the back, that is, the one with the largest corresponding sampling number, is the right boundary. The left and right boundaries are the boundaries of the feature window T1.

2. The method for identifying fancy rope skipping according to claim 1, wherein: The step S5: extracting feature data in the feature window T1 of each axis of the quaternion in S4, including the following data features: Feature a1, the maximum peak-to-valley value M1 of each axis of the quaternion; Feature b1, the width of the maximum "peak-to-valley" of each axis of the quaternion; Feature c1, among the four axes of the quaternion, the axis with the largest peak-to-valley peak appears; Feature d1, the amplitude of the first "peak" minus the amplitude of the second "peak" of the maximum "peak-to-valley" of each axis of the quaternion; Feature e1, how many "peaks and valleys" does the quaternion have on each axis; Feature f1, the average energy of acceleration within the feature window T1; Feature g1, the average change in acceleration within the feature window T1.

3. The method for identifying fancy rope skipping according to claim 2, wherein: Between step S5 and step S6, step S51 is further provided; step S51 is: data shifting, when the value of the maximum "peak-to-valley" of the feature window T1 is greater than the threshold A1, the midpoint of the position of the maximum "peak-to-valley" is calculated, and the data sampled before the midpoint and cached in the queue are removed from the queue.

4. The method for identifying fancy rope skipping according to claim 2, wherein: Step S6: inputting the data of the feature window in S5 into the classifier, and the method for the classifier to identify and determine whether the feature data in the feature window T1 is a cross action is a feature threshold method or a classifier training method; Feature threshold method sets corresponding thresholds for each feature in the feature window T1. When one or more features meet the threshold requirements, a cross action is identified. Classifier label training method collects a large amount of rope skipping data, finds the feature window T1 and extracts features, and labels the feature window according to the actual situation, 1 represents crossover, and 0 represents non-crossover; The classifier is trained using features and labels. When we substitute the extracted features into the trained classifier, the classifier output 1 means that a cross action is recognized.

5. The method for identifying fancy rope skipping according to claim 2, wherein: The step S7: performing validity judgment on the characteristic window T1 identified as the cross motion in S6 is a judgment on the effective pulse of angular velocity, specifically as follows: S71: Perform arithmetic fusion on the angular velocities of the x, y, and z axes, i.e., add the results of the three axes to capture the rotation on the three axes, and cache the fused data for 2 seconds. S72: performing band-pass filtering on the data fused in S71; S73: Find a "valley-peak-valley" that meets the conditions and define it as an angular velocity pulse. The specific method is as follows: define a "valley" as the point where both the previous sampling point and the next sampling point are greater than the current point; define a "peak" as the point where both the previous sampling point and the next sampling point are less than the current point; find the "valley" and record the point with the smallest "valley" and its position; Find the peak and record the largest point of the peak and its location; When the value of the maximum peak minus the minimum valley is greater than threshold 1, the maximum peak is greater than threshold 2, the minimum valley is less than threshold 3, and the maximum peak is located after the minimum valley, the minimum valley is recorded as the first target valley G1, the cached minimum valley is cleared, and the minimum valley search is repeated; Continue searching for valleys and save the smallest valley. When the maximum peak minus the smallest valley is greater than threshold 1, the maximum peak is greater than threshold 2, the smallest valley is less than threshold 3, and the smallest valley is located after the maximum peak, record the maximum peak as the first target peak F1, clear the cached maximum peak, and search for the maximum peak again. Find the first target "valley" again. Two adjacent first target valleys sandwich a first target peak, forming a "valley-peak-valley" as the angular velocity pulse; S74: Calculate the acceleration energy and angular velocity energy between the pulse start point and the end point; S75: If the acceleration energy is greater than the threshold value 4 and the angular velocity energy is greater than the threshold value 5, the pulse is set as a valid pulse.

6. The method for identifying fancy rope skipping according to claim 5, characterized in that: The threshold 1 is 300, the threshold 2 is -300, the threshold 3 is 700, the threshold 4 is 1.5, and the threshold 5 is 270.

7. The method for identifying fancy rope skipping according to claim 1, characterized in that: The method for identifying fancy rope skipping further includes step S8 after step S7; S8: Count the number of jumps when performing a mixed cross jump and a single swing jump. After each cross jump is identified using the quaternion, subtract 1 from the number of valid pulses calculated by the gyroscope to obtain the exact number of single swing jumps when performing a mixed cross jump and a single swing jump.

8. A device capable of identifying a rope skipping pattern, characterized in that: Apply the method for identifying fancy rope skipping described in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Score obtaining method and device for skipping rope and intelligent skipping rope

    CN110755834A

  • Rope skipping state detection method and electronic equipment

    CN115702993A

Cited By

  • Intelligent skipping rope with sensing rope body

    CN120643873A

  • A smart skipping rope with a sensing rope

    CN120643873B