Slip detection method of sweeping robot, sweeping robot and storage medium

By combining MEMS sensors and encoder wheels to collect the motion parameters of the sweeping robot and calculate the difference in acceleration and angular velocity, the problem of accuracy in the sweeping robot's slip detection is solved, ensuring its normal operation.

CN120593738APending Publication Date: 2025-09-05ZHIYI (ZHONGSHAN) TECH CO LTD
View PDF 10 Cites 0 Cited by

Patent Information

Application Number
CN202510603577.X
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-05-09
Publication Date
2025-09-05

AI Technical Summary

Technical Problem

When the sweeping robot encounters a slipping situation during the cleaning process, it is unable to detect and take measures in time, affecting normal operation.

Method used

When the sweeping robot is in motion, the first motion parameter is collected based on the MEMS sensor, and the second motion parameter is collected in combination with the encoder wheel, and the absolute value of the difference between the acceleration and angular velocity is calculated to determine whether the side wheel is slipping.

Benefits of technology

Improved the accuracy of the robot vacuum's slip detection to ensure proper operation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120593738A_ABST
    Figure CN120593738A_ABST
Patent Text Reader

Abstract

The invention discloses a slip detection method of a sweeping robot, the sweeping robot and a storage medium, and the slip detection method of the sweeping robot comprises the steps: collecting a first motion parameter of the sweeping robot based on an MEMS sensor when it is determined that the sweeping robot is in a motion state; acquiring a second motion parameter of the sweeping robot based on the coding wheel; and according to the first motion parameter and the second motion parameter, determining whether the side wheel of the sweeping robot slips or not. According to the method, slip detection is carried out on the sweeping robot based on the motion parameters collected by the MEMS sensor and the coding wheel, and the accuracy of slip detection on the sweeping robot is improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application belongs to the technical field of sweeping robots, and in particular relates to a sweeping robot slippage detection method, a sweeping robot, and a storage medium. Background Art

[0002] Currently, various robots are being used in various industries and have also entered people's daily lives. For example, sweeping robots, such as robot vacuums, have brought great convenience to people's lives. In actual use, sweeping robots may slip while cleaning. If this problem is not detected and corrected in time, it will affect the normal operation of the sweeping robot. Therefore, there is an urgent need to detect slippage in sweeping robots. Summary of the Invention

[0003] In view of this, embodiments of the present application provide a method for detecting slippage of a sweeping robot, a sweeping robot, and a storage medium to overcome the above problems of the prior art.

[0004] In a first aspect, an embodiment of the present application provides a method for detecting slippage of a sweeping robot, comprising:

[0005] When it is determined that the cleaning robot is in a motion state, collecting a first motion parameter of the cleaning robot based on the MEMS sensor;

[0006] collecting a second motion parameter of the sweeping robot based on the encoder wheel;

[0007] Determine whether the side wheels of the sweeping robot are slipping according to the first motion parameter and the second motion parameter.

[0008] In some optional embodiments, determining whether the side wheels of the sweeping robot are slipping according to the first motion parameter and the second motion parameter includes:

[0009] Determining the driving state of the sweeping robot;

[0010] When it is determined that the driving state is a straight-ahead state, determining a first straight-ahead acceleration of the cleaning robot according to the first motion parameter;

[0011] Determining a second straight-line acceleration of the cleaning robot according to the second motion parameter;

[0012] calculating a first absolute value of a difference between the first straight-line acceleration and the second straight-line acceleration;

[0013] Determine whether the side wheel is slipping according to the absolute value of the first difference.

[0014] In some optional embodiments, the first motion parameter includes a first acceleration and a first angular velocity, and when determining that the driving state is a straight-ahead state, determining the first straight-ahead acceleration of the sweeping robot according to the first motion parameter includes:

[0015] When it is determined that the driving state is the straight-ahead state, calculating a posture quaternion according to the first angular velocity;

[0016] The first straight acceleration is determined according to the posture quaternion and the first acceleration.

[0017] In some optional embodiments, determining the first straight-line acceleration according to the attitude quaternion and the first acceleration includes:

[0018] Rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain a first inertial acceleration, where the first inertial acceleration includes a straight-line acceleration component and a gravity acceleration component;

[0019] clearing the gravity acceleration component in the first inertial acceleration to zero to obtain a second inertial acceleration;

[0020] The second inertial acceleration is reversely rotated from the inertial coordinate system to the machine coordinate system based on the conjugate of the attitude quaternion to obtain the first straight-line acceleration.

[0021] In some optional embodiments, before rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration, the method for detecting a slippage of the cleaning robot further includes:

[0022] performing coning error compensation and paddling error compensation on the first acceleration to obtain a compensated acceleration;

[0023] The step of rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration includes:

[0024] The compensation acceleration is rotated from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration.

[0025] In some optional embodiments, the first straight-line acceleration includes a preset number of first sub-accelerations, the interval between each two adjacent first sub-accelerations is a preset duration, the second straight-line acceleration includes the preset number of second sub-accelerations, the interval between each two adjacent second sub-accelerations is a preset duration, and each first sub-acceleration is collected at the same time as a corresponding second sub-acceleration.

[0026] Calculating a first absolute value of a difference between the first straight-ahead acceleration and the second straight-ahead acceleration includes:

[0027] Calculating a first sub-difference absolute value between each first sub-acceleration and the corresponding second sub-acceleration to obtain the preset number of first sub-difference absolute values;

[0028] Adding the preset number of first sub-difference absolute values ​​to obtain a first difference absolute value sum;

[0029] The determining whether the side wheel is slipping according to the absolute value of the first difference comprises:

[0030] Determine whether the side wheel is slipping according to the absolute value of the first difference.

[0031] In some optional embodiments, the method for detecting slippage of a sweeping robot further includes:

[0032] When it is determined that the driving state is a rotation state, calculating a second angular velocity of the cleaning robot according to the second motion parameter;

[0033] calculating a second absolute value of a difference between the first angular velocity and the second angular velocity;

[0034] Determine whether the side wheel is slipping according to the absolute value of the second difference.

[0035] In some optional embodiments, when determining that the cleaning robot is in a motion state, before collecting the first motion parameter of the cleaning robot based on the MEMS sensor, the method for detecting slippage of the cleaning robot further includes:

[0036] Obtaining the motor current of the sweeping robot;

[0037] Determine whether the cleaning robot is in the motion state according to the motor current.

[0038] In a second aspect, an embodiment of the present application provides a slip detection device for a sweeping robot, comprising:

[0039] A first acquisition module is configured to acquire a first motion parameter of the sweeping robot based on a MEMS sensor when determining that the sweeping robot is in a motion state;

[0040] A second acquisition module, configured to acquire a second motion parameter of the sweeping robot based on a coding wheel;

[0041] The first determining module is used to determine whether the side wheels of the sweeping robot are slipping according to the first motion parameter and the second motion parameter.

[0042] In a third aspect, an embodiment of the present application provides a sweeping robot, comprising a memory; one or more processors coupled to the memory; and one or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more applications are configured to execute the slip detection method for the sweeping robot provided in the first aspect above.

[0043] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, in which a program code is stored. The program code can be called by a processor to execute the slip detection method for a sweeping robot as provided in the first aspect above.

[0044] In a fifth aspect, an embodiment of the present application provides a computer program product, which, when running on a computer device, enables the computer device to execute the slip detection method for a sweeping robot provided in the first aspect above.

[0045] The solution provided in the present application collects the first motion parameter of the sweeping robot based on the MEMS sensor and the second motion parameter of the sweeping robot based on the encoder wheel when determining that the sweeping robot is in a motion state, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter. This realizes slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot. BRIEF DESCRIPTION OF THE DRAWINGS

[0046] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following briefly introduces the drawings required for use in the embodiments or descriptions of the prior art. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.

[0047] Figure 1 A schematic diagram of a scenario of a sweeping robot provided in an embodiment of the present application is shown.

[0048] Figure 2 A flow chart of a method for detecting slippage of a sweeping robot provided in an embodiment of the present application is shown.

[0049] Figure 3 A schematic diagram of a scenario flow of a method for detecting slippage of a sweeping robot provided in an embodiment of the present application is shown.

[0050] Figure 4Another flow chart of the method for detecting slippage of a sweeping robot provided in an embodiment of the present application is shown.

[0051] Figure 5 A structural block diagram of a slip detection device for a sweeping robot provided in an embodiment of the present application is shown.

[0052] Figure 6 A functional block diagram of a sweeping robot provided in an embodiment of the present application is shown.

[0053] Figure 7 A computer-readable storage medium provided in an embodiment of the present application is shown for storing or carrying program code for implementing the slip detection method for a sweeping robot provided in an embodiment of the present application.

[0054] Figure 8 A computer program product provided in an embodiment of the present application is shown for storing or carrying program codes for implementing the method for detecting a slippage of a sweeping robot provided in an embodiment of the present application. DETAILED DESCRIPTION

[0055] In order to make the purpose, features, and advantages of the invention of this application more obvious and easy to understand, the technical solutions in the embodiments of this application will be clearly and completely described below in conjunction with the drawings in the embodiments of this application. Obviously, the embodiments described below are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of this application.

[0056] It will be understood that when used in this specification and the appended claims, the term "comprising" indicates the presence of described features, integers, steps, operations, elements and / or components, but does not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components and / or groups thereof.

[0057] It should also be understood that the terms used in this specification are for the purpose of describing specific embodiments only and are not intended to limit the present application. As used in this specification and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms unless the context clearly indicates otherwise.

[0058] It should be further understood that the term "and / or" used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

[0059] In addition, in the description of the present application, the terms "first", "second", "third", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.

[0060] Currently, various robots are being used in various industries and have also entered people's daily lives. For example, sweeping robots, such as robot vacuums, have brought great convenience to people's lives. In actual use, sweeping robots may slip while cleaning. If this problem is not detected and corrected in time, it will affect the normal operation of the sweeping robot. Therefore, there is an urgent need to detect slippage in sweeping robots.

[0061] In response to the above problems, the embodiments of the present application provide a method for detecting a slip of a sweeping robot, a sweeping robot, and a storage medium. When determining that the sweeping robot is in motion, the method collects the first motion parameter of the sweeping robot based on the MEMS sensor, and collects the second motion parameter of the sweeping robot based on the encoder wheel, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter. This realizes slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0062] The technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application.

[0063] See also Figure 1 , which shows a schematic diagram of an application scenario of the sweeping robot 100 provided in an embodiment of the present application. The sweeping robot 100 may include a shell, a MEMS (Micro Electro Mechanical System) sensor, a coding wheel and a controller. The MEMS sensor, coding wheel and controller can be installed in the shell, and the shell can provide installation support for the MEMS sensor, coding wheel and controller.

[0064] The material of the shell can be any one of plastic, metal or composite material, etc., which is not limited here.

[0065] The MEMS sensor can be used to collect the first motion parameter of the sweeping robot. The first motion parameter may include a first acceleration and a first angular velocity. For example, the MEMS sensor can be integrated with an accelerometer and a gyroscope, which is not limited here.

[0066] The encoder wheel can be used to collect the second motion parameter of the cleaning robot. The second motion parameter may include a pulse, so as to calculate the second acceleration or second angular velocity of the cleaning robot in the machine coordinate system according to the pulse.

[0067] The controller can be communicatively connected to the MEMS sensor and the encoder wheel, and the controller can be used to control the MEMS sensor and the encoder wheel to work.

[0068] The controller can be any one of a microcontroller unit (MCU), a central processing unit (CPU), a combinatorial logic controller (CLC), a complex programmable logic device (CPLD) or a field programmable gate array (FPGA), etc., and is not limited here.

[0069] See also Figure 2 , which shows a flow chart of a method for detecting a slip of a sweeping robot provided by an embodiment of the present application. In a specific embodiment, the method for detecting a slip of a sweeping robot can be applied to Figure 1 The controller in the sweeping robot 100 shown in FIG. 1 is taken as an example below. Figure 2 The process shown in FIG. 1 is described in detail. The method for detecting slippage of a sweeping robot may include the following steps 110 to 130 .

[0070] Step 110: When it is determined that the cleaning robot is in motion, collect first motion parameters of the cleaning robot based on the MEMS sensor.

[0071] In an embodiment of the present application, when the controller determines that the sweeping robot is in a motion state, it can send a first acquisition instruction to the MEMS sensor. The MEMS sensor receives and responds to the first acquisition instruction, collects motion parameters of the sweeping robot, obtains the first motion parameters, and sends the first motion parameters to the controller. The controller receives the first motion parameters returned by the MEMS sensor.

[0072] Step 120: Collect the second motion parameter of the cleaning robot based on the encoder wheel.

[0073] In an embodiment of the present application, the controller can send a second acquisition instruction to the encoder wheel, the encoder wheel receives and responds to the second acquisition instruction, collects motion parameters of the sweeping robot, obtains second motion parameters, and sends the second motion parameters to the controller, and the controller receives the second motion parameters returned by the encoder wheel.

[0074] Step 130: Determine whether the side wheels of the cleaning robot are slipping based on the first motion parameter and the second motion parameter.

[0075] In an embodiment of the present application, the controller can determine whether the side wheels of the sweeping robot are slipping based on the first parameter and the second parameter, thereby realizing slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0076] In some embodiments, the controller can determine the driving state of the sweeping robot, and when it is determined that the driving state is a straight-ahead state, determine the first straight-ahead acceleration of the sweeping robot according to the first motion parameter, and determine the second straight-ahead acceleration of the sweeping robot according to the second motion parameter, and calculate the first absolute value of the difference between the first straight-ahead acceleration and the second straight-ahead acceleration, and determine whether the side wheels of the sweeping robot are slipping according to the absolute value of the first difference, thereby realizing the slip detection of the sweeping robot based on the absolute value of the difference in straight-ahead accelerations obtained based on motion parameters collected by different sensors, thereby improving the accuracy of slip detection of the sweeping robot.

[0077] When the absolute value of the first difference is greater than the first threshold, it is determined that the side wheels of the sweeping robot are slipping; when the absolute value of the first difference is less than or equal to the first threshold, it is determined that the side wheels of the sweeping robot are not slipping.

[0078] Among them, the first threshold can be used to represent the maximum absolute value of the difference between the first straight-line acceleration and the second straight-line acceleration when the side wheels of the sweeping robot slip. The first threshold can be the absolute value of the difference pre-set by the user, or it can be the absolute value of the difference automatically generated by the controller based on the process of multiple slip detections of the sweeping robot, etc., which is not limited here.

[0079] The driving state may include a straight-ahead state or a rotating state, etc. The controller may obtain the side wheel signal of the sweeping robot during the driving process, and determine the driving state of the sweeping robot according to the side wheel signal.

[0080] When the side wheel signal matches the first preset signal, it is determined that the driving state of the sweeping robot is the straight state; when the side wheel signal matches the second preset signal, it is determined that the driving state of the sweeping robot is the rotating state.

[0081] The first preset signal can be used to represent the side wheel signal of the sweeping robot in a straight-moving state, and the second preset signal can be used to represent the side wheel signal of the sweeping robot in a rotating state, etc., which is not limited here.

[0082] Regarding the above-mentioned process of determining the first straight-line acceleration of the sweeping robot based on the first motion parameter when the controller determines that the driving state of the sweeping robot is a straight-line state, in some embodiments, when the controller determines that the driving state of the sweeping robot is a straight-line state, the posture quaternion can be calculated based on the first angular velocity, and the first straight-line acceleration can be determined based on the posture quaternion and the first acceleration. The first straight-line acceleration is determined based on the first angular velocity and the first acceleration, thereby improving the accuracy of the first acceleration.

[0083] Regarding the process of the above-mentioned controller determining the first straight line acceleration based on the attitude quaternion and the first acceleration, in some embodiments, the controller can rotate the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration, and clear the gravity acceleration component in the first inertial acceleration to obtain the second inertial acceleration, and rotate the second inertial acceleration from the inertial coordinate system to the machine coordinate system based on the conjugate of the attitude quaternion to obtain the first straight line acceleration, and eliminate the gravity acceleration component in the first acceleration based on the attitude quaternion, thereby reducing the influence of gravity acceleration and improving the accuracy of the first straight line acceleration.

[0084] The first inertial acceleration may include a straight-line acceleration component and a gravitational acceleration component, which is not limited here.

[0085] In some embodiments, when the controller determines that the driving state of the sweeping robot is a straight-line state, the attitude quaternion can be calculated based on the first angular velocity, and the first acceleration can be compensated for cone error and paddling error to obtain a compensated acceleration. The compensated acceleration is rotated from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain a first inertial acceleration, and the gravity acceleration component in the first inertial acceleration is cleared to obtain a second inertial acceleration. The second inertial acceleration is rotated in reverse from the inertial coordinate system to the machine coordinate system based on the conjugate of the attitude quaternion to obtain a first straight-line acceleration. The cone error compensation can reduce the measurement error of the MEMS sensor, and the paddling error compensation can reduce the measurement error of the encoder wheel, which is beneficial to improving the accuracy of the first straight-line acceleration.

[0086] In some embodiments, the first straight acceleration may include a preset number of first sub-accelerations, and the interval collection time corresponding to each two adjacent first sub-accelerations is a preset time. The second straight acceleration may include a preset number of second sub-accelerations, and the interval collection time corresponding to each two adjacent second sub-accelerations is a preset time. Each first sub-acceleration may be collected at the same time as a corresponding second sub-acceleration.

[0087] The controller can determine the driving state of the sweeping robot, and when it is determined that the driving state is a straight-ahead state, determine a preset number of first sub-accelerations of the sweeping robot according to the first motion parameter, and determine a preset number of second sub-accelerations of the sweeping robot according to the second motion parameter, and calculate the first sub-difference absolute value of each first sub-acceleration and a corresponding second sub-acceleration to obtain a preset number of first sub-difference absolute values, and sum the preset number of first sub-difference absolute values ​​to obtain the first difference absolute value sum, and determine whether the side wheel is slipping according to the first difference absolute value sum, thereby realizing the slip detection of the sweeping robot based on the difference absolute value of the straight-ahead acceleration obtained based on the motion parameters of multiple cycles collected by different sensors, and further improving the accuracy of slip detection of the sweeping robot.

[0088] When the absolute value sum of the first difference is greater than the first threshold, it is determined that the side wheels of the sweeping robot are slipping; when the absolute value sum of the first difference is less than or equal to the first threshold, it is determined that the side wheels of the sweeping robot are not slipping.

[0089] The preset number may be a number pre-set by the user, or may be a number automatically generated by the controller based on multiple slip detections of the sweeping robot, etc., and is not limited here. As an example, the preset number may be 50.

[0090] In some embodiments, the controller can determine the driving state of the sweeping robot, and when it is determined that the driving state is a rotational state, calculate the second angular velocity of the sweeping robot according to the second motion parameter, and calculate the second absolute value of the difference between the first angular velocity and the second angular velocity, and determine whether the side wheel is slipping according to the second absolute value of the difference, thereby realizing the absolute value of the difference in angular velocity obtained based on the motion parameters collected by different sensors, and performing slip detection on the sweeping robot, thereby improving the accuracy of slip detection on the sweeping robot.

[0091] When the absolute value of the second difference is greater than the second threshold, it is determined that the side wheels of the sweeping robot are slipping; when the absolute value of the second difference is less than or equal to the second threshold, it is determined that the side wheels of the sweeping robot are not slipping.

[0092] Among them, the second threshold can be used to characterize the maximum absolute value of the difference between the first angular velocity and the second angular velocity when the side wheel of the sweeping robot slips. The second threshold can be the absolute value of the difference pre-set by the user, or it can be the absolute value of the difference automatically generated by the controller based on the process of multiple slip detections of the sweeping robot, etc., which is not limited here.

[0093] In some embodiments, the first angular velocity may include a preset number of first sub-angular velocities, and the interval collection time corresponding to each adjacent two first angular velocities is a preset time. The second angular velocity may include a preset number of second sub-angular velocities, and the interval collection time corresponding to each adjacent two second sub-angular velocities is a preset time. Each first sub-angular velocity may be collected at the same time as a corresponding second sub-angular velocity.

[0094] The controller can determine the driving state of the sweeping robot, and when it is determined that the driving state is a rotational state, calculate a preset number of second sub-angular velocities of the sweeping robot according to the second motion parameter, and calculate the second sub-difference absolute value of each first sub-angular velocity and a corresponding second sub-angular velocity to obtain a preset number of second sub-difference absolute values, and add the preset number of second sub-difference absolute values ​​to obtain the second difference absolute value sum, and determine whether the side wheel is slipping according to the second difference absolute value sum, thereby realizing the slip detection of the sweeping robot based on the absolute value of the difference in angular velocities obtained based on motion parameters of multiple cycles collected by different sensors, and further improving the accuracy of slip detection of the sweeping robot.

[0095] In one application scenario, such as Figure 3 As shown, the method for detecting slippage of a cleaning robot may include the following steps 210 to 280.

[0096] Step 210: When it is determined that the cleaning robot is in motion, collect first motion parameters of the cleaning robot based on the MEMS sensor.

[0097] Step 220: Collect the second motion parameter of the cleaning robot based on the encoder wheel.

[0098] Step 230: Determine whether the driving state of the sweeping robot is a straight-moving state or a rotating state.

[0099] When it is determined that the driving state of the sweeping robot is the straight-ahead state, step 240 is executed;

[0100] When it is determined that the driving state of the cleaning robot is the rotating state, step 280 is executed.

[0101] Step 240: Calculate the first difference absolute value sum.

[0102] Step 250: Determine whether the side wheels of the cleaning robot are slipping based on the absolute value of the first difference.

[0103] When it is determined that the side wheels of the sweeping robot are slipping, step 260 is executed;

[0104] When it is determined that the side wheels of the sweeping robot are not slipping, the process returns to step 210 .

[0105] Step 260: Generate slip prompt information.

[0106] Among them, the slip prompt information can be used to prompt the user to handle the sweeping robot. The slip prompt information can be at least any one of text prompt information, sound prompt information or light prompt information, etc., which is not limited here.

[0107] Step 270: Calculate the second sum of absolute differences.

[0108] Step 280: Determine whether the side wheels of the cleaning robot are slipping based on the absolute value of the first difference.

[0109] When it is determined that the side wheels of the sweeping robot are slipping, step 260 is executed;

[0110] When it is determined that the side wheels of the sweeping robot are not slipping, the process returns to step 210 .

[0111] The solution provided in the present application collects the first motion parameter of the sweeping robot based on the MEMS sensor and the second motion parameter of the sweeping robot based on the encoder wheel when determining that the sweeping robot is in a motion state, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter. This realizes slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0112] See also Figure 4 , which shows a flow chart of a method for detecting a slip of a sweeping robot provided by another embodiment of the present application. In a specific embodiment, the method for detecting a slip of a sweeping robot can be applied to Figure 1 The controller in the sweeping robot 100 shown in FIG. 1 is taken as an example below. Figure 4 The process shown in FIG. 1 is described in detail. The method for detecting a slippage of a cleaning robot may include the following steps 310 to 350 .

[0113] Step 310: Obtain the motor current of the sweeping robot.

[0114] In this embodiment, the sweeping robot may further include a motor and a current sensor. The motor may be used to drive the sweeping robot to move. The current sensor may be installed relative to the motor. The current sensor may be communicatively connected to the controller. The controller may be used to control the current sensor to collect current from the motor.

[0115] The controller can send a third acquisition instruction to the current sensor. The current sensor receives and responds to the third acquisition instruction, acquires the current of the motor, obtains the motor current, and sends the motor current to the controller. The controller receives the motor current returned by the current sensor.

[0116] Step 320: Determine whether the cleaning robot is in motion according to the motor current.

[0117] In this embodiment, the controller can determine whether the sweeping robot is in motion based on the motor current, thereby realizing detection of the motion state of the sweeping robot based on the motor current and improving the detection accuracy of the motion state of the sweeping robot.

[0118] When the motor current is greater than or equal to the current threshold, it is determined that the sweeping robot is in motion; when the motor current is less than the current threshold, it is determined that the sweeping robot is in a stationary state.

[0119] Among them, the current threshold can be used to characterize the minimum motor current when the sweeping robot is in motion. The current threshold can be a motor current pre-set by the user, or it can be a motor current automatically generated by the controller based on multiple slip detection processes of the sweeping robot, etc., which is not limited here.

[0120] Step 330: When it is determined that the cleaning robot is in motion, collect first motion parameters of the cleaning robot based on the MEMS sensor.

[0121] Step 340: Collect the second motion parameter of the cleaning robot based on the encoder wheel.

[0122] Step 350: Determine whether the side wheels of the cleaning robot are slipping based on the first motion parameter and the second motion parameter.

[0123] In this embodiment, step 330 , step 340 , and step 350 may refer to the contents of the corresponding steps in the aforementioned embodiment and are not limited here.

[0124] The solution provided in this embodiment obtains the motor current of the sweeping robot, determines whether the sweeping robot is in motion based on the motor current, and when it is determined that the sweeping robot is in motion, collects the first motion parameter of the sweeping robot based on the MEMS sensor, and collects the second motion parameter of the sweeping robot based on the encoder wheel, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter, thereby realizing slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0125] Furthermore, the motion state of the sweeping robot is detected based on the motor current of the sweeping robot, thereby improving the detection accuracy of the motion state of the sweeping robot.

[0126] See also Figure 5, which shows a skid detection device 500 for a sweeping robot provided by an embodiment of the present application. In a specific embodiment, the skid detection device 500 for a sweeping robot can be applied to Figure 1 The controller in the sweeping robot 100 shown in FIG. 1 is taken as an example below. Figure 5 The skid detection device 500 of the cleaning robot shown in FIG. 5 is described in detail. The skid detection device 500 of the cleaning robot may include a first acquisition module 510 , a second acquisition module 520 and a first determination module 530 .

[0127] The first acquisition module 510 can be used to collect the first motion parameters of the sweeping robot based on the MEMS sensor when it is determined that the sweeping robot is in a moving state; the second acquisition module 520 can be used to collect the second motion parameters of the sweeping robot based on the encoder wheel; the first determination module 530 can be used to determine whether the side wheels of the sweeping robot are slipping based on the first motion parameters and the second motion parameters.

[0128] In some embodiments, the first determination module 530 may include a first determination submodule, a second determination submodule, a third determination submodule, a calculation submodule, and a fourth determination submodule.

[0129] The first determination submodule can be used to determine the driving state of the sweeping robot; the second determination submodule can be used to determine the first straight-ahead acceleration of the sweeping robot according to the first motion parameter when the driving state is determined to be a straight-ahead state; the third determination submodule can be used to determine the second straight-ahead acceleration of the sweeping robot according to the second motion parameter; the calculation submodule can be used to calculate the first absolute value of the difference between the first straight-ahead acceleration and the second straight-ahead acceleration; the fourth determination submodule can be used to determine whether the side wheel is slipping according to the absolute value of the first difference.

[0130] In some embodiments, the first motion parameter may include a first acceleration and a first angular velocity, and the second determination submodule may include a first calculation unit and a first determination unit.

[0131] The first calculation unit may be configured to calculate the attitude quaternion according to the first angular velocity when the driving state is determined to be the straight driving state; and the first determination unit may be configured to determine the first straight driving acceleration according to the attitude quaternion and the first acceleration.

[0132] In some embodiments, the first determining unit may include a first rotating subunit, a clearing subunit, and a second rotating subunit.

[0133] The first rotation subunit can be used to rotate the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration, which may include a straight-line acceleration component and a gravity acceleration component; the clearing subunit can be used to clear the gravity acceleration component in the first inertial acceleration to zero to obtain the second inertial acceleration; the second rotation subunit can be used to rotate the second inertial acceleration from the inertial coordinate system to the machine coordinate system in reverse based on the conjugate of the attitude quaternion to obtain the first straight-line acceleration.

[0134] In some embodiments, the slip detection device 500 of the cleaning robot may further include a compensation module.

[0135] The compensation module can be used by the first rotation subunit to rotate the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion. Before obtaining the first inertial acceleration, the first acceleration is compensated for cone error and paddling error to obtain a compensated acceleration.

[0136] In some embodiments, the first rotating sub-unit may include a rotating sub-sub-unit.

[0137] The rotation sub-subunit may be used to rotate the compensation acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain a first inertial acceleration.

[0138] In some embodiments, the first straight acceleration may include a preset number of first sub-accelerations, and the interval collection time corresponding to each two adjacent first sub-accelerations may be a preset time; the second straight acceleration may include a preset number of second sub-accelerations, and the interval collection time corresponding to each two adjacent second sub-accelerations may be a preset time; each first sub-acceleration may be collected at the same time as a corresponding second sub-acceleration; the calculation submodule may include a second calculation unit and a summing unit.

[0139] The second calculation unit can be used to calculate the first sub-difference absolute value between each first sub-acceleration and a corresponding second sub-acceleration to obtain a preset number of first sub-difference absolute values; the addition unit can be used to add the preset number of first sub-difference absolute values ​​to obtain the sum of the first difference absolute values.

[0140] In some embodiments, the fourth determining submodule may include a second determining unit.

[0141] The second determining unit may be configured to determine whether the side wheel is slipping according to the absolute value of the first difference.

[0142] In some embodiments, the slip detection device 500 of the cleaning robot may further include a first calculation module, a second calculation module, and a second determination module.

[0143] The first calculation module can be used to calculate the second angular velocity of the sweeping robot according to the second motion parameter when it is determined that the driving state is a rotational state; the second calculation module can be used to calculate the second absolute value of the difference between the first angular velocity and the second angular velocity; the second determination module can be used to determine whether the side wheel is slipping according to the absolute value of the second difference.

[0144] In some embodiments, the slip detection device 500 of the cleaning robot may further include an acquisition module and a third determination module.

[0145] The acquisition module can be used to obtain the motor current of the sweeping robot before the first acquisition module 510 collects the first motion parameter of the sweeping robot based on the MEMS sensor when determining that the sweeping robot is in a motion state; the third determination module can be used to determine whether the sweeping robot is in a motion state based on the motor current.

[0146] The solution provided in this embodiment collects the first motion parameter of the sweeping robot based on the MEMS sensor and the second motion parameter of the sweeping robot based on the encoder wheel when determining that the sweeping robot is in a motion state, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter. This realizes slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0147] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referred to in detail. For the device embodiments, since they are basically similar to the method embodiments, the description is relatively simple. For the relevant parts, refer to the partial description of the method embodiments. Any processing method described in the method embodiment can be implemented by the corresponding processing module in the device embodiment, and will not be repeated in detail in the device embodiment.

[0148] In addition, the functional modules in the various embodiments of the present application may be integrated into a processing module, or each module may exist physically separately, or two or more modules may be integrated into a single module. The above-mentioned integrated modules may be implemented in the form of hardware or software functional modules.

[0149] See also Figure 6, which shows a functional block diagram of a sweeping robot 600 provided by an embodiment of the present application. The sweeping robot 600 may include one or more of the following components: a memory 610, a processor 620, and one or more applications, wherein the one or more applications may be stored in the memory 610 and configured to be executed by the one or more processors 620, and the one or more applications are configured to execute the method described in the aforementioned method embodiment.

[0150] The memory 610 may include a random access memory (RAM) or a read-only memory (ROM). The memory 610 may be used to store instructions, programs, codes, code sets or instruction sets. The memory 610 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for implementing at least one function (such as determining a motion state, collecting a first motion parameter, collecting a second motion parameter, determining whether slipping, determining a driving state, determining a straight state, determining a first straight acceleration, determining a second straight acceleration, calculating a first difference absolute value, calculating a posture quaternion, rotating to an inertial coordinate system, obtaining a first inertial acceleration, clearing a gravity acceleration component, obtaining a second inertial acceleration, rotating inversely to a machine coordinate system, obtaining a first straight acceleration, cone error compensation, paddling error compensation, obtaining a compensated acceleration, calculating a second difference absolute value, and obtaining a motor current, etc.), instructions for implementing the following various method embodiments, etc. The storage data area can also store data created by the sweeping robot 600 during use (such as the sweeping robot, motion state, MEMS sensor, first motion parameter, encoder wheel, second motion parameter, side wheel, driving state, straight state, first straight acceleration, second straight acceleration, first difference absolute value, first acceleration, first angular velocity, attitude quaternion, machine coordinate system, inertial coordinate system, first inertial acceleration, straight acceleration component, gravity acceleration component, second inertial acceleration, conjugate, cone error compensation, paddling error compensation, compensation acceleration, preset number, first sub-acceleration, interval collection time, preset time, second sub-acceleration, collection time, first sub-difference absolute value, preset number of first sub-difference absolute values, sum of first difference absolute values, rotation state, second angular velocity, second difference absolute value and motor current), etc.

[0151] The processor 620 may include one or more processing cores. The processor 620 utilizes various interfaces and circuits to connect the various components within the robot vacuum 600. It executes instructions, programs, code sets, or instruction sets stored in the memory 610, as well as accesses data stored in the memory 610, to perform various functions of the robot vacuum 600 and process data. Optionally, the processor 620 may be implemented using at least one of the following hardware forms: a digital signal processing (DSP), a field-programmable gate array (FPGA), or a programmable logic array (PLA). The processor 620 may integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), and a modem. The CPU primarily processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing display content; and the modem handles wireless communications. It is understood that the modem may not be integrated into the processor 620 and may be implemented separately via a communication chip.

[0152] Please refer to Figure 7 , which shows a block diagram of a computer-readable storage medium provided in an embodiment of the present application. The computer-readable storage medium 700 stores program code 710, which can be called by a processor to execute the method described in the above method embodiment.

[0153] The computer-readable storage medium 700 can be an electronic memory such as a flash memory, an EEPROM (Electrically Erasable Programmable Read-Only Memory), an EPROM, a hard disk, or a ROM. Alternatively, the computer-readable storage medium 700 includes a non-transitory computer-readable storage medium. The computer-readable storage medium 700 has storage space for program code 710 for executing any of the method steps described above. These program codes can be read from or written to one or more computer program products. The program code 710 can be compressed, for example, in a suitable form.

[0154] Please refer to Figure 8, which shows a block diagram of the structure of a computer program product 800 provided in an embodiment of the present application. The computer program product 800 includes a computer program / instructions 810, which is stored in a computer-readable storage medium of a computer device. When the computer program product 800 is executed on the computer device, the computer device's processor reads the computer program / instructions 810 from the computer-readable storage medium and executes the computer program / instructions 810, causing the computer device to perform the method described in the above method embodiment.

[0155] The solution provided in this embodiment collects the first motion parameter of the sweeping robot based on the MEMS sensor and the second motion parameter of the sweeping robot based on the encoder wheel when determining that the sweeping robot is in a motion state, and determines whether the side wheels of the sweeping robot are slipping based on the first motion parameter and the second motion parameter. This realizes slip detection of the sweeping robot based on the motion parameters collected by the MEMS sensor and the encoder wheel, thereby improving the accuracy of slip detection of the sweeping robot.

[0156] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit them. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims

1. A method for detecting slippage of a sweeping robot, characterized in that: include: When it is determined that the cleaning robot is in a motion state, collecting a first motion parameter of the cleaning robot based on the MEMS sensor; collecting a second motion parameter of the sweeping robot based on the encoder wheel; Determine whether the side wheels of the sweeping robot are slipping according to the first motion parameter and the second motion parameter.

2. The slip detection method according to claim 1, characterized in that: The determining, based on the first motion parameter and the second motion parameter, whether the side wheels of the sweeping robot are slipping includes: Determining the driving state of the sweeping robot; When it is determined that the driving state is a straight-ahead state, determining a first straight-ahead acceleration of the cleaning robot according to the first motion parameter; Determining a second straight-line acceleration of the cleaning robot according to the second motion parameter; calculating a first absolute value of a difference between the first straight-line acceleration and the second straight-line acceleration; Determine whether the side wheel is slipping according to the absolute value of the first difference.

3. The slip detection method according to claim 2, characterized in that: The first motion parameter includes a first acceleration and a first angular velocity. When determining that the driving state is a straight-ahead state, determining a first straight-ahead acceleration of the cleaning robot according to the first motion parameter includes: When it is determined that the driving state is the straight-ahead state, calculating a posture quaternion according to the first angular velocity; The first straight acceleration is determined according to the posture quaternion and the first acceleration.

4. The slip detection method according to claim 3, characterized in that: The determining the first straight-line acceleration according to the attitude quaternion and the first acceleration includes: Rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain a first inertial acceleration, where the first inertial acceleration includes a straight-line acceleration component and a gravity acceleration component; clearing the gravity acceleration component in the first inertial acceleration to zero to obtain a second inertial acceleration; The second inertial acceleration is reversely rotated from the inertial coordinate system to the machine coordinate system based on the conjugate of the attitude quaternion to obtain the first straight-line acceleration.

5. The slip detection method according to claim 4, characterized in that: Before rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration, the slip detection method further includes: performing coning error compensation and paddling error compensation on the first acceleration to obtain a compensated acceleration; The step of rotating the first acceleration from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration includes: The compensation acceleration is rotated from the machine coordinate system to the inertial coordinate system based on the attitude quaternion to obtain the first inertial acceleration.

6. The slip detection method according to claim 2, characterized in that: The first straight-line acceleration includes a preset number of first sub-accelerations, and the interval between each two adjacent first sub-accelerations is a preset duration. The second straight-line acceleration includes the preset number of second sub-accelerations, and the interval between each two adjacent second sub-accelerations is a preset duration. Each first sub-acceleration is collected at the same time as a corresponding second sub-acceleration. Calculating a first absolute value of a difference between the first straight-ahead acceleration and the second straight-ahead acceleration includes: Calculating a first sub-difference absolute value between each first sub-acceleration and the corresponding second sub-acceleration to obtain the preset number of first sub-difference absolute values; Adding the preset number of first sub-difference absolute values ​​to obtain a first difference absolute value sum; The determining whether the side wheel is slipping according to the absolute value of the first difference comprises: Determine whether the side wheel is slipping according to the absolute value of the first difference.

7. The slip detection method according to claim 3, characterized in that: Also includes: When it is determined that the driving state is a rotation state, calculating a second angular velocity of the cleaning robot according to the second motion parameter; calculating a second absolute value of a difference between the first angular velocity and the second angular velocity; Determine whether the side wheel is slipping according to the absolute value of the second difference.

8. The slip detection method according to any one of claims 1 to 7, characterized in that: When determining that the cleaning robot is in a motion state, before collecting the first motion parameter of the cleaning robot based on the MEMS sensor, the slip detection method further includes: Obtaining the motor current of the sweeping robot; Determine whether the cleaning robot is in the motion state according to the motor current.

9. A sweeping robot, characterized in that: include: Memory; one or more processors coupled to the memory; One or more applications, wherein the one or more applications are stored in the memory and configured to be executed by the one or more processors, and the one or more applications are configured to execute the slip detection method according to any one of claims 1 to 8.

10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores program codes, which can be called by a processor to execute the slip detection method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Slipping detection control method and device, mobile robot and storage medium

    CN112849125A

  • Identity detection method and system based on inertial sensor

    CN114611553A

  • Slip detection method and device of cleaning robot, storage medium and equipment

    CN115336945A

  • Pedestrian navigation indoor positioning method based on inertial sensing

    CN115655265A

  • Slipping detection method

    CN116237982A