A robot side slip detection method, chip and robot

By calculating the Mahalanobis distance and Euclidean distance, combined with acceleration and angle changes, the accuracy problem of robot sideslip detection is solved, high-precision sideslip detection is achieved, and positioning yaw is avoided.

CN115597575BActive Publication Date: 2025-10-03AMICRO SEMICONDUCTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202110780846.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-07-09
Publication Date
2025-10-03
Estimated Expiration
2041-07-09

AI Technical Summary

Technical Problem

Existing robotic algorithms cannot accurately detect sideslip, especially when subjected to lateral impact on low-friction surfaces, which affects positioning accuracy.

Method used

By calculating the Mahalanobis distance based on the acceleration measurement value and the Euclidean distance based on the gyroscope measurement value, combined with the robot's accelerometer and angle changes, it is determined whether the robot has skidded.

Benefits of technology

It achieves low-cost, high-precision sideslip detection and avoids positioning yaw of the robot caused by sideslip in complex environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115597575B_ABST
    Figure CN115597575B_ABST
Patent Text Reader

Abstract

The present invention discloses a robot sideslip detection method, chip, and robot. The method includes: step 1: based on acceleration measurement values, obtaining a first acceleration sample and a first acceleration population, and calculating the Mahalanobis distance between the first acceleration sample and the first acceleration population; step 2: determining whether the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold; if so, proceeding to step 3; step 3: based on gyroscope measurement values, obtaining a first angle sample and a second angle sample, calculating a first Euclidean distance based on the first angle sample, and calculating a second Euclidean distance based on the second angle sample; step 4: determining whether both the first Euclidean distance and the second Euclidean distance are less than a preset Euclidean distance threshold; if so, determining that the robot has sideslipped; if not, determining that the robot has not sideslipped. The present invention realizes low-cost, high-precision detection of robot sideslip conditions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robot algorithms, and in particular to a robot sideslip detection method, a chip, and a robot. Background Art

[0002] In complex dynamic environments, robots are extremely vulnerable to lateral impacts. When a robot moves on a low-friction surface, if the robot's tires have weak adhesion, the robot is very likely to skid when subjected to lateral impact. Robot skidding generally refers to the lateral movement of the robot's wheels. When a robot skids, the wheel encoder cannot sense the robot's lateral displacement, which will affect the accuracy of the robot's subsequent positioning. Currently available algorithmic technologies mainly use extended Kalman filtering technology and a tire longitudinal force calculation method based on a dynamic model to estimate the state of the vehicle after skidding. This method requires the establishment of a complex dynamic model and the input of the robot's mass, robot tire stiffness, and the friction coefficient between the tire and the ground as known parameters into the system. However, these parameter information cannot be obtained through direct measurement in real time. Therefore, this method has significant limitations and cannot accurately detect whether the robot is skidding. Summary of the Invention

[0003] To address the above issues, the present invention provides a robot sideslip detection method, chip, and robot, which solves the problem that existing algorithms cannot accurately detect robot sideslips, and achieves low-cost, high-precision detection of robot sideslips. The specific technical solutions of the present invention are as follows:

[0004] The present invention discloses a robot sideslip detection method, which includes: step 1: based on an acceleration measurement value, obtaining a first acceleration sample and a first acceleration population, calculating a Mahalanobis distance between the first acceleration sample and the first acceleration population, and then entering step 2; step 2: judging whether the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold, if so, entering step 3; if not, determining that the robot has not been subjected to a lateral impact and has not sideslipped; step 3: based on a gyroscope measurement value, obtaining a first angle sample and a second angle sample, calculating a first Euclidean distance based on the first angle sample, and calculating a second Euclidean distance based on the second angle sample, and then entering step 4; step 4: judging whether both the first Euclidean distance and the second Euclidean distance are less than a preset Euclidean distance threshold, if so, determining that the robot has sideslipped, and if not, determining that the robot has not sideslipped.

[0005] Compared with the existing technology, the present invention calculates the Mahalanobis distance between the first acceleration sample and the first acceleration population based on the acceleration measurement value to determine whether the robot's acceleration measurement value has changed drastically, obtains the first angle sample and the second angle sample based on the gyroscope measurement value, calculates the first Euclidean distance and the second Euclidean distance to determine whether the robot's pitch angle and roll angle have changed drastically, and combines the robot's accelerometer and angle changes to determine whether the robot has skidded. This solves the problem that the existing algorithm technology cannot detect the robot's skidding, avoids the robot's skidding in a complex dynamic environment and cannot be detected, affecting the robot's positioning accuracy and causing the robot to yaw.

[0006] Furthermore, the robot sideslip detection method further includes the following steps before executing step 1: step 00: caching raw data and determining whether the number of cached frames of the raw data is greater than or equal to two frames, if so, proceeding to step 01; step 01: preprocessing the cached raw data to obtain the preprocessing results of the raw data; step 02: determining whether the wheel encoder measurement value has changed, if not, proceeding to step 03, if so, determining that the robot is in a non-stationary state; step 03: determining whether the standard deviation of the acceleration measurement value within the sliding window is less than a preset acceleration standard deviation threshold, if so, determining that the robot is in a stationary state and proceeding to step 04, if not, determining that the robot is in a non-stationary state; step 04: recording the acceleration measurement values ​​of all consecutive time frames when the robot is in a stationary state as prior knowledge. This technical solution pre-processes the raw data, preliminarily determines the robot's motion state based on the wheel encoder measurement value, determines whether the robot's acceleration has changed based on the standard deviation of the acceleration measurement value within the sliding window, thereby determining the robot's motion state, and recording the acceleration measurement value of the robot when it is stationary as prior knowledge for subsequent overall calculation of the Mahalanobis distance.

[0007] Furthermore, the step 01 specifically includes: calculating the posture change of two consecutive frames of the robot cached successively; calculating the acquisition time difference of two consecutive frames of raw data cached successively; calculating the mean, standard deviation and covariance of the acceleration measurement values ​​in the sliding window; storing the sensor measurement values ​​in sequence according to the chronological order of the acquisition time to generate a sensor measurement value sequence; recording the posture change of two consecutive frames of the robot cached successively, the cache time difference of two consecutive frames of raw data cached successively, the mean, standard deviation and covariance of the acceleration measurement values ​​in the sliding window, and the sensor measurement value sequence as the preprocessing results of the raw data; wherein the sensor measurement values ​​include: gyroscope measurement values, acceleration measurement values, and wheel encoder measurement values; the sensor measurement value sequence includes acceleration measurement value sequence, gyroscope measurement value sequence, and wheel encoder measurement value sequence; the acceleration measurement value in the sliding window refers to the acceleration measurement value of the latest cached preset frame number extracted from the acceleration measurement value sequence based on the sliding window technology; the gyroscope measurement value includes the robot roll angle, robot pitch angle and robot yaw angle. The present invention obtains a sensor measurement value sequence, extracts a subsequence from the sensor measurement value sequence, and analyzes changes in the sensor measurement value by comparing differences between measurement values ​​within the subsequence, so as to consider the impact of the robot's past state on the current state.

[0008] Furthermore, step 1 specifically includes: using the acceleration measurement values ​​within the sliding window as a first acceleration sample; using the prior knowledge as a first acceleration population; and calculating the Mahalanobis distance between the first acceleration sample and the first acceleration population. The present invention selects the Mahalanobis distance as a distance metric to measure the similarity between acceleration measurements. The Mahalanobis distance can effectively reflect whether an accelerometer has undergone drastic changes.

[0009] Furthermore, step 3 specifically includes: obtaining a gyroscope measurement value sequence from the preprocessing results of the raw data, extracting a newly cached frame of gyroscope measurement values ​​from the gyroscope measurement value sequence as the gyroscope measurement value at the current moment; using the current robot roll angle in the current gyroscope measurement value as a first angle sample, and using the current robot pitch angle in the current gyroscope measurement value as a second angle sample; calculating a first Euclidean distance between the first angle sample and a preset robot roll angle threshold; and calculating a second Euclidean distance between the second angle sample and a preset robot pitch angle threshold. The present invention selects Euclidean distance as a distance metric to measure the degree of similarity between gyroscope measurement values. Euclidean distance can better reflect whether the robot posture has changed dramatically.

[0010] Furthermore, when the robot detects that it has returned to a stationary state after being activated, the prior knowledge is updated with the acceleration measurements of all consecutive time frames when the robot returned to a stationary state. This invention takes into account the temperature sensitivity of sensors and other characteristics. To avoid the problem of inaccurate sideslip detection results caused by untimely prior knowledge updates, the prior knowledge is updated when the robot returns to a stationary state.

[0011] The present invention discloses a chip, which is used for storing a computer program. When the computer program is run by a processor, the robot sideslip detection method as described above is executed.

[0012] The present invention also discloses a robot equipped with an accelerometer, a gyroscope, and a wheel encoder. The robot is internally provided with the chip as described above, and is used to execute the robot sideslip detection method as described above. BRIEF DESCRIPTION OF THE DRAWINGS

[0013] Figure 1 Schematic diagram of the flow of the robot sideslip detection method according to the first embodiment of the present invention.

[0014] Figure 2 2 is a flow chart of a robot sideslip detection method according to a second embodiment of the present invention. DETAILED DESCRIPTION

[0015] In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention will be described and illustrated below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described below are only used to explain the present invention and are not intended to limit the present invention. In addition, it is also understood that for those skilled in the art, some changes in design, manufacturing or production based on the technical content disclosed in the present invention are only conventional technical means and should not be understood as insufficient disclosure of the present application.

[0016] Unless otherwise defined, the technical terms or scientific terms involved in the present invention should be understood by people with ordinary skills in the technical field to which this application belongs. The words "one", "a", "a", "the" and the like involved in this application do not indicate a quantitative limitation and may represent the singular or the plural. The terms "include", "comprise", "have" and any of their variations involved in this application are intended to cover non-exclusive inclusions, such as: a process, method, system product or device that includes a series of steps or modules is not limited to the listed steps or units, but may also include steps or modules that are not listed, or may also include other steps or units inherent to these processes, methods, products or devices. The terms "first", "second", "third" and the like involved in this application are merely used to distinguish similar correspondences and do not represent a specific ordering of objects.

[0017] In a first embodiment of the present invention, a method for detecting a sideslip of a robot is provided. Based on this method, it is possible to detect whether the robot has sideslipped. Figure 1 is a flow chart of the robot's sideslip detection method, such as Figure 1 As shown, the robot sideslip detection method includes the following steps:

[0018] Step 1: Based on the acceleration measurement value obtained by the accelerometer, obtain a first acceleration sample and a first acceleration population, calculate the Mahalanobis distance between the first acceleration sample and the first acceleration population, and then proceed to step 2; wherein, the first acceleration sample refers to the acceleration measurement value of the latest cached preset number of frames extracted from the acceleration measurement value sequence based on the sliding window technology; the first acceleration population refers to the acceleration measurement value of all consecutive time frames when the robot is in a stationary state; the Mahalanobis distance was proposed by Indian statistician Mahalanobis and is used to represent the distance of the covariance of data. It takes into account the connection between various characteristics and is used in this step as a distance metric to measure the similarity between the robot acceleration measurement values.

[0019] Step 2: Determine whether the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold. If so, proceed to step 3; if not, determine that the robot has not skidded. Specifically, the inventors determined the preset size of the sliding window through repeated simulation experiments, thereby determining the preset number of frames for extracting acceleration measurement values ​​from the acceleration measurement value sequence, and using the Mahalanobis distance corresponding to the maximum amplitude value of the reasonable change in the acceleration measurement value when the robot is in a stationary state as the preset Mahalanobis distance threshold. The preset Mahalanobis distance threshold can also be the Mahalanobis distance corresponding to the amplitude value of the acceleration measurement value within a reasonable change range when the robot is in a stationary state. The Mahalanobis distance, as a distance metric for measuring the similarity between acceleration measurements, can reflect whether the robot's acceleration has changed dramatically. In this embodiment, when the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold, it is considered that the robot's acceleration has changed dramatically, and the robot is likely to have skidded, requiring further verification. When the Mahalanobis distance between the first acceleration sample and the first acceleration population is less than or equal to the preset Mahalanobis distance threshold, it is considered that the robot's acceleration has not changed dramatically, and it is confirmed that the robot has not skidded.

[0020] Step 3: Based on the gyroscope measurement value, obtain a first angle sample and a second angle sample, calculate a first Euclidean distance based on the first angle sample, calculate a second Euclidean distance based on the second angle sample, and then proceed to step 4; wherein, the first angle sample refers to the current moment robot roll angle in the current moment gyroscope measurement value; the second angle sample refers to the current moment robot pitch angle in the current moment gyroscope measurement value; the Euclidean distance refers to the Euclidean metric, which is used to represent the distance between two points.

[0021] Specifically, the gyroscope measurement value at the current moment is obtained by extracting a latest cached frame of gyroscope measurement values ​​from the gyroscope measurement value sequence.

[0022] Step 4: Determine whether both the first Euclidean distance and the second Euclidean distance are less than a preset Euclidean distance threshold. If so, it is determined that the robot has experienced a sideslip; if not, it is determined that the robot has not experienced a sideslip. Specifically, in this step, the Euclidean distance is used as a distance metric to measure the degree of Euler angle similarity, which can be used to determine whether the robot's posture has changed dramatically. In this embodiment, when both the first Euclidean distance and the second Euclidean distance are less than the preset Euclidean distance threshold, it indicates that the robot's posture has not changed dramatically, but because the robot's acceleration has changed dramatically, it is determined that the robot has experienced a sideslip. Conversely, when one or more of the first and second Euclidean distances is greater than the preset Euclidean distance threshold, it indicates that the robot's posture has changed dramatically, and because the robot's acceleration has also changed dramatically, it is determined that the robot has not experienced a sideslip. The preset Euclidean distance threshold is a value obtained by the inventors through multiple simulation experiments to determine whether the robot's posture has changed dramatically.

[0023] The second embodiment of the present invention provides another method for detecting sideslip of a robot. Figure 2 FIG. 1 is a flow chart of a method for detecting sideslip of a robot according to an embodiment of the present invention, as shown in FIG. Figure 2 As shown, the robot sideslip detection method specifically includes the following steps:

[0024] Step 101: Cache raw data and determine whether the number of cached frames of raw data is greater than or equal to two frames. If so, proceed to step 102; if not, continue caching raw data; wherein the raw data includes: acceleration measurement values, gyroscope measurement values, wheel encoder measurement values, and time; the time refers to the moment when each sensor measurement value is collected.

[0025] Step 102: pre-process the cached raw data, and then proceed to step 103; specifically, the pre-processing of the raw data includes: calculating the posture change Δθ of two consecutive frames of the robot cached in succession based on the gyroscope measurement value; calculating the acquisition time difference Δt of two consecutive frames of raw data; calculating the mean, standard deviation and covariance of the acceleration measurement value in the sliding window; calculating the difference between the wheel encoder measurement values ​​of two consecutive frames; storing the sensor measurement values ​​in chronological order to generate a sensor measurement value sequence; wherein the sensor measurement value sequence includes the acceleration measurement value sequence, A gyroscope measurement value sequence and a wheel encoder measurement value sequence; the posture change Δθ of two consecutive frames of robot cached successively, the time axis difference Δt of two consecutive frames of raw data cached successively, the mean, standard deviation and covariance of the acceleration measurement values ​​in the sliding window; and the sensor measurement value sequence are used as the preprocessing result of the raw data; the acceleration measurement value in the sliding window refers to the acceleration measurement value of the latest cached preset frame number extracted from the acceleration measurement value sequence based on the sliding window technology; the gyroscope measurement values ​​include the robot roll angle, robot pitch angle and robot yaw angle.

[0026] Step 103: Determine whether the wheel encoder measurement value has changed. If not, proceed to step 104. If so, determine that the robot is in a non-stationary state. Specifically, whether the wheel encoder measurement value has changed is determined based on the difference between the wheel encoder measurement values ​​of two consecutive frames in the preprocessing results of the original data. If there is a difference between the wheel encoder measurement values ​​of two consecutive frames, it means that the robot's wheels are rotating and the robot is in a non-stationary state.

[0027] Step 104: Determine whether the standard deviation of the acceleration measurement value in the sliding window is less than a preset acceleration standard deviation threshold. If so, it is determined that the robot is in a stationary state and proceeds to step 105; if not, it is determined that the robot is in a non-stationary state; wherein, the acceleration measurement value in the sliding window refers to the acceleration measurement value of the latest cached preset number of frames extracted from the acceleration measurement value sequence based on the sliding window technology; in this embodiment, the sliding window technology refers to the technology of extracting the sensor measurement value of a preset number of frames from the sensor measurement value sequence of consecutive frames, wherein the preset number of frames for extracting the sensor measurement value is preset in advance by the inventor, which can be but not limited to 5 frames, 10 frames, 20 frames, etc. Frames, 100 frames or 1000 frames, etc. The specific number of extracted frames can be adjusted according to various factors such as the data processing capability of the actual robot and the environment in which it is located; the preset acceleration standard deviation threshold is a value determined by the inventor after multiple experiments to limit the reasonable variation range of the acceleration measurement value; the reasonable variation range refers to the variation range reflected by calculating the acceleration standard deviation threshold of the acceleration measurement value when the robot is in a stationary state; specifically, this step is to determine whether the variation range of the acceleration measurement value in the sliding window is within the reasonable variation range by comparing whether the standard deviation of the acceleration measurement value in the sliding window in the original data preprocessing result is less than the preset acceleration standard deviation threshold. If the standard deviation of the acceleration measurement value in the sliding window is less than the preset acceleration standard deviation threshold, it means that the variation range of the acceleration measurement value of several consecutive frames in the sliding window is within the reasonable variation range. Conversely, if the standard deviation of the acceleration measurement value in the sliding window is greater than or equal to the preset acceleration standard deviation threshold, it means that the variation range of the acceleration measurement value of several consecutive frames in the sliding window is not within the reasonable variation range.

[0028] Step 105: Record the acceleration measurement values ​​of all consecutive time frames when the robot is in a stationary state as prior knowledge, and then proceed to step 201;

[0029] Step 201: taking the acceleration measurement value in the sliding window as the first acceleration sample, and then proceeding to step 202;

[0030] Step 202: taking the prior knowledge as the first acceleration population, and then proceeding to step 203;

[0031] Preferably, the actual execution order of step 201 and step 202 may be to execute step 201 first and then step 202, or to execute step 202 first and then step 201.

[0032] Step 203: Calculate the Mahalanobis distance between the first acceleration sample and the first acceleration population, and then proceed to step 204; wherein the Mahalanobis distance d between the first acceleration sample and the first acceleration population is m(x,G) is: Where d m represents the Mahalanobis distance, x represents the first acceleration sample, G represents the first acceleration population, μ represents the first acceleration population mean, and Σ represents the first acceleration population covariance.

[0033] Step 204: Determine whether the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold. If so, proceed to step 301. If not, determine that the robot has not experienced a sideslip. Specifically, the Mahalanobis distance corresponding to the maximum amplitude of a reasonable change in the acceleration measurement value when the robot is in a stationary state is used as the preset Mahalanobis distance threshold. The preset Mahalanobis distance threshold may also be the Mahalanobis distance corresponding to the amplitude of a change within a reasonable range of acceleration measurement values ​​when the robot is in a stationary state. The Mahalanobis distance, as a distance metric that measures the similarity between acceleration measurement values, can reflect whether the robot's acceleration has experienced a dramatic change. In this embodiment, when the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than the preset Mahalanobis distance threshold, it is considered that the robot's acceleration has experienced a dramatic change, and there is a possibility that the robot has experienced a sideslip, requiring further verification. When the Mahalanobis distance between the first acceleration sample and the first acceleration population is less than or equal to the preset Mahalanobis distance threshold, it is considered that the robot's acceleration has not experienced a dramatic change, and it is confirmed that the robot has not experienced a sideslip.

[0034] Step 301: Obtain a gyroscope measurement value sequence from the preprocessing results of the raw data, extract the most recently cached frame of gyroscope measurement values ​​from the gyroscope measurement value sequence as the gyroscope measurement value at the current moment, and then proceed to step 302; wherein the gyroscope measurement values ​​include the robot roll angle, robot pitch angle, and robot yaw angle.

[0035] Step 302: The current robot roll angle in the current gyroscope measurement value is used as the first angle sample, and the current robot pitch angle in the current gyroscope measurement value is used as the second angle sample, and then the process proceeds to step 303;

[0036] Step 303: Calculate the first Euclidean distance between the first angle sample and the preset robot roll angle threshold; calculate the second Euclidean distance between the second angle sample and the preset robot pitch angle threshold, and then proceed to step 304; the Euclidean distance d involved o (y,N) is: Among them, d o (y, N) represents the Euclidean distance, y represents the first angle sample or the second angle sample, and N represents the preset robot roll angle threshold or the preset robot pitch angle threshold. When y is the first angle sample, N is the preset robot roll angle threshold; when y is the second angle sample, N is the preset robot pitch angle threshold.

[0037] Step 304: Determine whether both the first Euclidean distance and the second Euclidean distance are less than a preset Euclidean distance threshold. If so, it is determined that the robot has skidded; if not, it is determined that the robot has not skidded. Specifically, in this step, the Euclidean distance is used as a distance metric to measure the similarity of the Euler angles, which can be used to determine whether the robot's posture has changed drastically. The preset robot roll angle threshold and the preset robot pitch angle threshold are thresholds determined by the inventors through multiple simulation results for determining whether the robot's roll angle and pitch angle have changed drastically. The preset Euclidean distance threshold is a threshold used to define whether the robot's posture has changed drastically. In this embodiment, when the first Euclidean distance is less than the preset Euclidean distance threshold, it means that the roll angle of the robot has not changed drastically; when the second Euclidean distance is less than the preset Euclidean distance threshold, it means that the pitch angle of the robot has not changed drastically; when both the first Euclidean distance and the second Euclidean distance are less than the preset Euclidean distance threshold, it means that the posture of the robot has not changed drastically, but because the acceleration of the robot has changed drastically, it is determined that the robot has skidded; conversely, when the first Euclidean distance and / or the second Euclidean distance is greater than the preset Euclidean distance threshold, it means that the roll angle and / or the pitch angle of the robot has changed drastically, and because the acceleration of the robot has also changed drastically, it is determined that the robot has not skidded.

[0038] In a third embodiment of the present invention, a chip is provided for storing a computer program, and when the computer program is executed by a processor, the sideslip detection method of the robot as described in the aforementioned embodiment is executed. It will be understood by those skilled in the art that all or part of the steps in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a program, and the program is stored in a storage medium, including a number of instructions for causing a single-chip microcomputer, a chip or a processor to execute all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes various media that can store program codes, such as a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk.

[0039] A fourth embodiment of the present invention provides a robot equipped with an accelerometer, a gyroscope, and a wheel encoder. The chip described in the third embodiment is disposed inside the robot for executing the robot sideslip detection method described in the previous embodiment.

[0040] In the embodiments provided by the present invention, it should be understood that the disclosed systems and methods can be implemented in other ways. For example, the system embodiments described above are merely schematic. 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. The methods described above are merely schematic. For example, the division of the steps can be otherwise divided in actual implementation, such as the order in which the steps are executed can be adjusted according to actual conditions, or some steps can be ignored or not executed.

[0041] Those skilled in the art will appreciate that all or part of the steps carried out in the above-mentioned embodiment method can be completed by instructing the relevant hardware through a program, and the program can be stored in a computer-readable storage medium. When the program is executed, it includes one or a combination of the steps of the method embodiment. In addition, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically alone, or two or more units can be integrated into one module. The above-mentioned integrated module can be implemented in the form of hardware or in the form of a software functional module. If the integrated module is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk or an optical disk, etc.

[0042] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by program instruction related components. These programs can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed. Finally, it should be noted that the above-mentioned embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit them. Although the present invention has been described in detail with reference to the above-mentioned embodiments, those skilled in the art will understand that they can still modify the technical solutions described in the above-mentioned embodiments, or make equivalent replacements for some or all of their technical features, and these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of protection of the technical solutions of the embodiments of the present invention.

Claims

1. A method for detecting sideslip of a robot, characterized in that: The method includes: Step 1: Based on the acceleration measurement value, obtain a first acceleration sample and a first acceleration population, calculate the Mahalanobis distance between the first acceleration sample and the first acceleration population, and then proceed to step 2; Step 2: Determine whether the Mahalanobis distance between the first acceleration sample and the first acceleration population is greater than a preset Mahalanobis distance threshold. If so, proceed to step 3. If not, determine that the robot has not skidded. Step 3: Based on the gyroscope measurement value, obtain a first angle sample and a second angle sample, calculate a first Euclidean distance based on the first angle sample, calculate a second Euclidean distance based on the second angle sample, and then proceed to step 4; Step 4: Determine whether both the first Euclidean distance and the second Euclidean distance are less than a preset Euclidean distance threshold. If so, it is determined that the robot has skidded; if not, it is determined that the robot has not skidded.

2. The robot sideslip detection method according to claim 1, characterized in that: The robot sideslip detection method further includes the following steps before executing step 1: Step 00: Cache the original data and determine whether the number of cached frames of the original data is greater than or equal to two frames. If so, proceed to step 01; Step 01: Preprocess the cached raw data to obtain the preprocessing results of the raw data; Step 02: Determine whether the wheel encoder measurement value has changed. If not, proceed to step 03. If so, determine that the robot is in a non-stationary state; Step 03: Determine whether the standard deviation of the acceleration measurement value in the sliding window is less than the preset acceleration standard deviation threshold. If so, it is determined that the robot is in a stationary state and proceeds to step 04. If not, it is determined that the robot is in a non-stationary state. Step 04: Record the acceleration measurements of all consecutive time frames when the robot is in a stationary state as prior knowledge; The raw data includes: acceleration measurement values, gyroscope measurement values, wheel encoder measurement values ​​and acquisition time of each sensor measurement value.

3. The robot sideslip detection method according to claim 2, characterized in that: The step 01 specifically includes: calculating the posture change of two consecutive frames of the robot cached in succession; calculating the acquisition time difference of two consecutive frames of sensor measurement values ​​cached in succession; calculating the mean, standard deviation and covariance of acceleration measurement values ​​in the sliding window; storing the sensor measurement values ​​in order of acquisition time to generate a sensor measurement value sequence; recording the posture change of two consecutive frames of the robot cached in succession, the acquisition time difference of two consecutive frames of sensor measurement values ​​cached in succession, the mean, standard deviation and covariance of acceleration measurement values ​​in the sliding window, and the sensor measurement value sequence as the preprocessing result of the raw data; Among them, the sensor measurement values ​​include: gyroscope measurement values, acceleration measurement values, and wheel encoder measurement values; the sensor measurement value sequence includes an acceleration measurement value sequence, a gyroscope measurement value sequence, and a wheel encoder measurement value sequence; the acceleration measurement value within the sliding window refers to the acceleration measurement value of the latest cached preset frame number extracted from the acceleration measurement value sequence based on the sliding window technology; the gyroscope measurement value includes the robot roll angle, robot pitch angle, and robot yaw angle.

4. The robot sideslip detection method according to claim 3, characterized in that: Step 1 specifically includes: Taking the acceleration measurement value in the sliding window as a first acceleration sample; Taking the prior knowledge as the first acceleration population; Calculate the Mahalanobis distance between the first acceleration sample and the first acceleration population.

5. The robot sideslip detection method according to claim 3, characterized in that: Step 3 specifically includes: Obtaining a gyroscope measurement value sequence from the preprocessing result of the raw data, and extracting a latest cached frame of gyroscope measurement values ​​from the gyroscope measurement value sequence as the gyroscope measurement value at the current moment; The roll angle of the robot at the current moment in the gyroscope measurement value at the current moment is used as the first angle sample, and the pitch angle of the robot at the current moment in the gyroscope measurement value at the current moment is used as the second angle sample; Calculating a first Euclidean distance between the first angle sample and a preset robot roll angle threshold; Calculate a second Euclidean distance between the second angle sample and a preset robot pitch angle threshold.

6. The robot sideslip detection method according to claim 2, characterized in that: When it is detected that the robot is in a stationary state again after being started, the prior knowledge is updated to the acceleration measurement values ​​of all consecutive time frames when the robot is in a stationary state again.

7. A chip for storing a computer program, characterized in that: When the computer program is executed by a processor, the robot sideslip detection method according to any one of claims 1 to 6 is executed.

8. A robot equipped with an accelerometer, a gyroscope, and a wheel encoder, characterized in that: The robot is provided with a chip as claimed in claim 7 for executing the robot sideslip detection method as claimed in any one of claims 1 to 6.

Citation Information

Patent Citations

  • Detection method for robot skidding, map building method and chip

    CN107348910A

  • Robot slipping detecting method and robot slipping correcting method

    CN108638053A