Cleaning robot positioning method and cleaning robot

By employing a hybrid positioning strategy in the cleaning robot, alternating between laser sensors and inertial navigation systems, and switching positioning modes based on slippage detection, the problem of inaccurate positioning in the cleaning robot is solved, thereby improving positioning accuracy and system stability.

CN121632081APending Publication Date: 2026-03-10ANKER INNOVATIONS TECH CO LTD
View PDF 9 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-08-29
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

Existing positioning methods for cleaning robots suffer from inaccurate positioning, especially given the high cost of lidar positioning and the poor accuracy of inertial navigation positioning, making it difficult to operate stably under various ground conditions.

Method used

A hybrid positioning strategy is adopted, which alternates between using laser sensors and inertial navigation systems for positioning. The positioning mode is switched in time by detecting whether the machine slips, and the positioning error is corrected, including the switching between self-rotation positioning and inertial navigation positioning modes.

Benefits of technology

It improves the accuracy of positioning and the robustness of the system, ensuring that the cleaning robot can work stably under various ground conditions, reducing the accumulation of positioning errors, and enhancing the robot's autonomous navigation capabilities.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121632081A_ABST
    Figure CN121632081A_ABST
Patent Text Reader

Abstract

The invention relates to a cleaning robot positioning method and a cleaning robot. The method comprises the steps that the cleaning robot is positioned in a first positioning mode, the cleaning robot switches the first positioning mode to a second positioning mode, and when it is determined that slipping occurs when the cleaning robot is positioned in the second positioning mode, the cleaning robot switches the second positioning mode to the first positioning mode. By the adoption of the method, the slipping phenomenon can be found in time, if it is determined that slipping occurs, the first positioning mode is switched immediately, positioning deviation caused by slipping can be corrected in advance, accumulation of positioning errors is reduced, the overall positioning precision is improved, the robustness and reliability of a system can be improved, and the positioning accuracy is improved. And the cleaning robot can stably work under various ground conditions.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robot control, in particular to a cleaning robot positioning method and a cleaning robot. BACKGROUND

[0002] A cleaning robot is an automatic device used for cleaning the ground, dust collection, mopping and other cleaning work. Precise positioning is crucial for the autonomous navigation of a cleaning robot. Through accurate positioning, a cleaning robot can more efficiently cover the entire cleaning area and complete the task according to the preset path planning.

[0003] At present, the positioning methods of a cleaning robot mainly include laser radar positioning, inertial navigation positioning and visual positioning.

[0004] However, the above positioning methods still have the problem of inaccurate positioning. SUMMARY

[0005] Therefore, it is necessary to provide a cleaning robot positioning method and a cleaning robot capable of improving positioning accuracy in view of the above technical problems.

[0006] In a first aspect, the present application provides a cleaning robot positioning method, comprising:

[0007] The cleaning robot adopts a first positioning mode for positioning;

[0008] The cleaning robot switches the first positioning mode to a second positioning mode;

[0009] During the positioning of the cleaning robot in the second positioning mode, when it is determined that slipping occurs, the cleaning robot switches the second positioning mode to the first positioning mode.

[0010] In a second aspect, the present application further provides a cleaning robot, comprising a body, a driving assembly, a cleaning assembly, a sensing module, a memory and a processor, wherein the driving assembly, the cleaning assembly and the sensing module are all installed on the body, the driving assembly is used to drive the body to walk on a working surface, the cleaning assembly is used to clean the working surface, the memory stores a computer program, and the computer program is executed by the processor to realize the steps of the above cleaning robot positioning method.

[0011] The cleaning robot positioning method and the cleaning robot, the cleaning robot first positions by the first positioning mode, and then switches the positioning mode from the first positioning mode to the second positioning mode. Since the positioning drift may occur over time, the slippage of the robot is detected during the positioning of the cleaning robot by the second positioning mode, so as to find the slippage in time. If it is determined that the slippage occurs, the second positioning mode is immediately switched to the first positioning mode. The positioning deviation caused by the slippage can be corrected in advance, the accumulation of the positioning error is reduced, the overall positioning accuracy is improved, and the robustness and reliability of the system are improved. The cleaning robot can stably work under various ground conditions. BRIEF DESCRIPTION OF DRAWINGS

[0012] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application. Those skilled in the art can obtain other related drawings without creative labor based on these drawings.

[0013] Figure 1 An application environment diagram of the cleaning robot positioning method in an embodiment;

[0014] Figure 2 A flowchart of the cleaning robot positioning method in an embodiment;

[0015] Figure 3 A normal positioning diagram of the cleaning robot in an embodiment when no slippage occurs;

[0016] Figure 4 An abnormal positioning diagram of the cleaning robot in an embodiment when slippage occurs;

[0017] Figure 5 A positioning mode switching diagram of the cleaning robot in an embodiment when slippage occurs;

[0018] Figure 6 A flowchart of the cleaning robot positioning method in another embodiment;

[0019] Figure 7 A flowchart of the cleaning robot positioning method in another embodiment;

[0020] Figure 8 A flowchart of the cleaning robot positioning method in another embodiment;

[0021] Figure 9 A detailed flowchart of the cleaning robot positioning method in an embodiment;

[0022] Figure 10 A detailed flowchart of a cleaning robot positioning method in another embodiment is shown in the figure.

[0023] Figure 11 A structural block diagram of a cleaning robot positioning device in an embodiment is shown in the figure.

[0024] Figure 12 A structural block diagram of a cleaning robot positioning device in another embodiment is shown in the figure. DETAILED DESCRIPTION

[0025] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and do not limit the present application.

[0026] At present, the commonly used positioning methods of cleaning robots include laser radar positioning or inertial navigation positioning. The laser radar positioning has high positioning accuracy, but the cost is relatively high. The inertial navigation positioning has lower cost, but the positioning accuracy is poor. Therefore, it is necessary to provide a positioning scheme which can reduce cost and ensure positioning accuracy.

[0027] Based on the above problems, the present application provides a cleaning robot positioning method.

[0028] The cleaning robot positioning method provided by the embodiments of the present application can be applied in an application environment as shown in the figure. Figure 1 The terminal 102 communicates with the cleaning robot 104 (hereinafter referred to as robot) through a network. The user operates the cleaning robot 104 through the control interface of the application program of the terminal 102. The cleaning robot 104 responds to the user's operation to carry out cleaning work, and continuously positions and updates its own position information during the work process to ensure working according to the predetermined path.

[0029] Specifically, the cleaning robot 104 usually adopts the first positioning mode for positioning. After a certain time, the positioning mode is switched from the first positioning mode to the second positioning mode. Then, the slip detection is carried out during the running of the second positioning mode. If it is determined that the slip occurs, the positioning mode is switched from the second positioning mode to the first positioning mode to correct the error of positioning.

[0030] The terminal 102 can be, but is not limited to, various personal computers, notebook computers, smart phones, tablet computers, Internet of Things devices, and portable wearable devices. The Internet of Things device can be a smart speaker, a smart television, a smart air conditioner, a smart vehicle-mounted device, a projection device, etc. The portable wearable device can be a smart watch, a smart bracelet, a head-mounted device, etc. The head-mounted device can be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc. The cleaning robot 104 can be, but is not limited to, a sweeping robot, a mopping robot, a scrubbing robot, etc.

[0031] In an exemplary embodiment, as shown in Figure 2 , a cleaning robot positioning method is provided. The method is applied to the cleaning robot 104 in Figure 1 for illustration, and includes the following steps S200 to S600. Wherein:

[0032] S200, the cleaning robot adopts a first positioning mode for positioning.

[0033] The cleaning robot (hereinafter referred to as robot) is usually equipped with sensors such as laser sensors, inertial measurement units (IMU) including accelerometers and gyroscopes for measuring motion state for positioning. In actual application, the robot is configured to adopt a hybrid positioning strategy for positioning, that is, to alternately adopt a first positioning mode and a second positioning mode for positioning. The first positioning mode mainly relies on the environmental point cloud data collected by the sensors such as laser sensors for positioning, and the second positioning mode mainly relies on the inertial navigation system inside the robot for positioning.

[0034] Under normal operating conditions, the robot primarily relies on a first positioning mode for localization. During this mode, positioning is achieved by continuously rotating sensors, such as laser sensors, and then using environmental point cloud data collected by the laser sensors. Since the first positioning mode relies mainly on external reference objects (such as walls and landmarks), it provides stable positioning information and can continuously correct position estimates over time, resulting in high positioning accuracy. The robot uses a second positioning mode for a limited period or under specific conditions. During this mode, localization is achieved using an internal inertial navigation system, specifically data collected by at least one sensor, such as an odometer, accelerometer, or gyroscope. Because the second positioning mode primarily relies on sensors like accelerometers and gyroscopes to estimate the robot's position, orientation, and velocity, its positioning accuracy gradually decreases over time due to accumulated errors. Therefore, in this embodiment, the positioning accuracy of the first positioning mode is higher than that of the second positioning mode.

[0035] In this embodiment, the use of a cleaning robot for positioning and mapping via point laser is taken as an example. The first positioning mode can be a positioning mode relying on a point laser sensor, and the second positioning mode can be a positioning mode relying on an internal inertial navigation system. Specifically, after powering on, the cleaning robot first scans feature points in the environment by continuously rotating the point laser sensor to obtain environmental point cloud data. Then, based on the collected environmental point cloud data, it locates itself and constructs an environmental map. As the robot moves, it continuously updates its position information to ensure it works along a predetermined path.

[0036] S400, the cleaning robot switches from the first positioning mode to the second positioning mode.

[0037] In practical applications, a robot can be configured to run a first positioning mode for positioning correction every preset positioning cycle. After the first positioning mode's runtime is completed, the positioning mode will switch to a second positioning mode, which relies on its internal inertial navigation system for positioning. For example, ... Figure 3 As shown, the positioning cycle can be set to 2 minutes, meaning that the first positioning mode is used to perform positioning once every 2 minutes to correct the positioning. Within these 2 minutes, the positioning mode will switch from the first positioning mode to the second positioning mode. When the duration of the second positioning mode reaches the preset positioning cycle of 2 minutes, the positioning mode will switch back to the first positioning mode to correct the positioning. In other embodiments, the preset positioning cycle can also be other times, such as 1 minute, 3 minutes, 4 minutes, etc., and is not limited to this.

[0038] S600: When slippage is detected during positioning using the second positioning mode, the cleaning robot switches from the second positioning mode to the first positioning mode.

[0039] Following the above, such as Figure 4 As shown, the robot uses the first positioning mode for localization every 2 minutes. Within these 2 minutes, the positioning mode switches to the second positioning mode. Since the second positioning mode relies on the inertial navigation system, it is prone to accumulating errors over time. If severe slippage occurs during the second positioning mode, a positioning anomaly will occur when the robot uses the first positioning mode to correct its positioning, making it difficult for the robot to complete the expected task. Therefore, to improve positioning accuracy, slippage can be detected during the robot's second positioning mode. If slippage is detected, positioning correction is triggered in advance, switching the positioning mode from the second to the first positioning mode to correct the positioning error. Therefore, the slippage detection period T should be shorter than the positioning period of the rotation positioning. Taking a 2-minute positioning period for rotation positioning as an example, the slippage detection period can be 500 milliseconds or 100 milliseconds, meaning a slippage detection is performed every 500 milliseconds or 100 milliseconds.

[0040] For example, such as Figure 5 As shown, the robot uses a first positioning mode for positioning every 2 minutes. After the runtime of the first positioning mode is reached (not shown in the figure), the positioning mode switches to a second positioning mode and runs in the second positioning mode for 2 minutes. If slippage is detected in the 4th minute, the positioning mode is switched back to the first positioning mode. Similarly, the runtime of the first positioning mode is recorded. When the runtime reaches a preset runtime threshold, the positioning mode is switched back to the second positioning mode. It is understood that in other embodiments, the slippage detection period can also be 300 milliseconds or 1 second, etc., and is not specifically limited here.

[0041] The above-mentioned cleaning robot positioning method involves the cleaning robot first performing positioning in a first positioning mode, and then switching the positioning mode from the first positioning mode to a second positioning mode. Since positioning drift may occur over time, the robot is monitored for slippage during the positioning process in the second positioning mode. If slippage is detected, the robot is immediately switched back to the first positioning mode. This method can correct positioning deviations caused by slippage in advance, reduce the accumulation of positioning errors, improve overall positioning accuracy, and enhance the robustness and reliability of the system. This is beneficial for the cleaning robot to work stably under various ground conditions.

[0042] In some embodiments, the first positioning mode can be a self-rotation positioning mode, and the second positioning mode can be an inertial navigation positioning mode. In the self-rotation positioning mode, the robot rotates the body to rotate the point laser sensor to collect the point cloud data of the environment. In the inertial navigation positioning mode, the robot measures the acceleration and angular velocity of the robot through the sensors such as the accelerometer and the gyroscope in the inertial navigation system to estimate the position, velocity, and direction of the robot.

[0043] In some embodiments, the robot can be configured to perform self-rotation positioning every 2 minutes. When the robot performs positioning in the self-rotation positioning mode, the robot records the running time of the self-rotation positioning mode. When the running time reaches a preset running time threshold, the robot switches the positioning mode from the self-rotation positioning mode to the inertial navigation positioning mode, records the running time of the inertial navigation positioning mode, and switches the positioning mode from the inertial navigation positioning mode to the self-rotation positioning mode when the running time of the inertial navigation positioning mode reaches 2 minutes. In this way, the robot performs positioning by using the alternating positioning strategy. In this embodiment, the robot can collect the point cloud data of the environment simply and quickly without adding components through the self-rotation positioning. It can be understood that in other embodiments, the rotation of the point laser sensor can also be achieved by adding a driving component to control the rotation of the point laser sensor, so as to continuously collect the point cloud data of the environment. Alternatively, the robot can be provided with multiple point laser sensors, which are directed in different directions or have different scanning modes, so as to obtain more point cloud data of the environment in one scanning.

[0044] In some embodiments, the robot can be configured to detect whether the robot slips in translation or rotation during positioning in the second positioning mode.

[0045] The translation slip refers to that the robot tries to move along a certain straight line direction, but the wheels slip on the ground and fail to achieve the expected displacement. For example, when the cleaning robot tries to move forward or backward on a wet and slippery ground, the wheels can only spin in place, and the robot itself does not have an actual displacement. This situation can be regarded as that the robot slips in translation. The rotation slip refers to that the wheels fail to generate sufficient friction on the ground to achieve the required rotation angle when the robot tries to rotate. For example, when the robot needs to turn, one side or both sides of the wheels can fail to provide the necessary torque to achieve the rotation, resulting in that the robot either rotates insufficiently or excessively. This situation can be regarded as that the robot slips in rotation.

[0046] In some embodiments, the robot can be configured to determine whether the robot slips in translation or rotation in combination with the current motion state of the robot, such as whether the robot is performing rotation or straight-line movement, and in combination with the changes in the angular velocity and the distance variance.

[0047] In the embodiment, by detecting whether the machine slips in translation or rotation, the working parameters can be adjusted in real time according to the actual slip condition, so as to ensure that the machine is in a good working state.

[0048] In an example embodiment, during positioning of the cleaning robot in the second positioning mode, determining whether the slip in translation or rotation occurs includes: the cleaning robot determining the displacement and the average current in a preset detection period, and determining whether the slip in translation or rotation occurs when the displacement is greater than a preset displacement threshold and the average current is greater than a preset current threshold.

[0049] In the embodiment, the preset detection period refers to a preset slip detection period T. For example, the slip detection period can be 500 milliseconds. The displacement includes linear displacement. The linear displacement can be estimated by the odometer by counting the number of rotations and the angle of the robot wheel, or can be determined by the position information provided by the positioning system, or can be measured by a detection sensor such as a laser radar. The displacement threshold can be an empirical value based on the specifications of the cleaning robot, the expected working environment, and the running parameters such as the running speed under normal working conditions. For example, if the minimum movement speed of the cleaning robot is 0.01 m / s and the detection period is 500 milliseconds, the displacement threshold can be set to 0.005 m. The current threshold can also be a typical current value determined based on the specifications of the cleaning robot, the rated current, and the expected working environment, such as 200 mA. It can be understood that in other embodiments, the current threshold can also be 300 mA, 500 mA, etc., and the displacement threshold can also be 0.006 m, 0.007 m, etc., which are not limited here.

[0050] In practical applications, if the cleaning robot does not move or moves too little within the detection period, slip detection is not required in this case. Therefore, in the embodiment, the average current and displacement of the cleaning robot within the detection period can be monitored in real time to timely understand the working state of the cleaning robot. For example, when the cleaning robot is in a high-power state, the output current of the cleaning robot can continuously increase. If the cleaning robot has abnormal operation such as slip or idling, the motor of the cleaning robot will try to overcome the friction or obstacles to maintain the expected movement, which will cause the motor load to increase instantaneously, so the current will suddenly increase. Therefore, in practical applications, by setting a current threshold and monitoring the average current during the operation of the cleaning robot, it can be determined whether the cleaning robot has an abnormality.

[0051] Specifically, after determining the displacement and the average current, the robot can compare the displacement with a preset displacement. If the displacement is less than or equal to a preset displacement threshold, it indicates that the robot does not move or the moving distance is too small, and the slip detection process is not triggered. If the displacement is greater than the preset displacement threshold, it indicates that the robot moves, and the slip detection process is triggered to compare whether the average current is greater than a preset current threshold. If the average current is less than or equal to the preset current threshold, it indicates that no slip occurs; if the average current is greater than the preset current threshold, it indicates that there may be slip, and it is necessary to accurately detect whether translational slip or rotational slip occurs.

[0052] In this embodiment, by monitoring the average current and displacement of the robot in the detection period in real time, the working state of the cleaning robot can be understood in time, and slip detection is only performed when necessary, thereby saving computing resources.

[0053] Detecting whether the machine has translational slip or rotational slip can be accurately determined in combination with the motion state of the robot. For example, Figure 6 As shown in the figure, in some other embodiments, detecting whether translational slip or rotational slip occurs includes:

[0054] S620, determining the current motion state based on the displacement.

[0055] S640, in the case where the current motion state is linear motion, detecting whether translational slip or rotational slip occurs.

[0056] S660, in the case where the current motion state is rotational motion, detecting whether rotational slip occurs.

[0057] As described in the above embodiments, the displacement includes linear displacement. Specifically, if the linear displacement continuously increases in one direction (forward or reverse) and the angular displacement is almost unchanged, it can be determined that the machine is in a linear motion state, including linear forward or linear backward. If the linear displacement changes relatively small and the angular displacement changes relatively large, it can be determined that the machine is in a rotational motion state, including motion along a curved path such as turning.

[0058] In the case where it is determined that the current motion state of the machine is linear motion, whether translational slip or rotational slip occurs is detected. In the case where it is determined that the current motion state of the machine is rotational motion, whether rotational slip occurs is detected.

[0059] In this embodiment, the current motion state of the robot is accurately determined by displacement, and the slip type is determined in combination with the motion state, so that whether the machine has translational slip or rotational slip can be accurately detected.

[0060] As shown in the figure, in some exemplary embodiments, S640 includes: Figure 7 ​

[0061] S642, determine the variance of the point laser distance within the preset detection period.

[0062] S644, based on the variance of point laser distance, detects whether translational slippage has occurred.

[0063] S646 If it is determined that no translational slippage has occurred, then based on the translational angular velocity and rotational angular velocity, it is determined whether rotational slippage has occurred.

[0064] In this embodiment, the translational angular velocity refers to the average value of the angular velocity based on displacement estimation provided by the odometer during the detection period. The rotational angular velocity refers to the average value of the angular velocity directly measured by the gyroscope of the inertial measurement unit during the detection period. Since the data provided by the odometer and gyroscope may have errors in practical applications, this embodiment combines the translational and rotational angular velocities. By comparing the rotational and translational angular velocities, it is possible to accurately determine whether the robot has actually rotated.

[0065] Point laser distance variance is a measure of the dispersion between multiple distance measurements taken using a point laser sensor (such as lidar). A larger variance in point laser distance measurement indicates greater fluctuation in the measurement results, meaning a higher level of uncertainty or noise.

[0066] In practical applications, taking a slippage detection period of 500 milliseconds as an example, the robot samples multiple measurement data points every 500 milliseconds, including linear displacement, from the odometer mounted on the drive wheels; multiple data points from the inertial measurement unit (IMU) and gyroscope, including angular velocity and acceleration information; multiple current data points from the current sensor; and multiple distance measurements of the robot's surrounding environment from the point laser sensor. Furthermore, based on the sampled linear displacement data from the odometer, the robot's linear displacement within the detection period is determined; based on the sampled angular velocities from the odometer, the translational angular velocity within the detection period is determined; based on the sampled angular velocities from the IMU, the rotational angular velocity within the detection period is determined; based on the sampled current data, the average current within the detection period is determined; and based on the sampled point laser distance values, the variance of the point laser distance within the detection period is determined.

[0067] In practical applications, if the robot is moving in a straight line, its LiDAR will continuously scan the surrounding environment and record the distance to obstacles (i.e., point laser distance). If the robot moves at a normal, uniform speed, the measured point laser distance will show a stable and predictable change, and the variance of the point laser distance within the detection period will be normal. However, if the robot slips, the measured point laser distance may become abnormal, resulting in an outlier in the variance of the point laser distance within the detection period. Therefore, the variance of the point laser distance can be used to detect whether the robot is experiencing translational slippage.

[0068] For example, the system can first detect whether the robot is experiencing translational slippage based on the variance of the point laser distance. If the variance of the point laser distance does not change abnormally, it is determined that the robot is not experiencing translational slippage. Then, based on the translational angular velocity and rotational angular velocity, it is determined whether the robot is experiencing rotational slippage. For example, if the difference between the translational angular velocity and the rotational angular velocity is significant, it can be determined that the robot is experiencing rotational slippage. In this case, information indicating that the robot is experiencing rotational slippage is provided, and the slippage time and duration can be recorded. If the difference between the translational angular velocity and the rotational angular velocity is small, it is determined that the robot is not experiencing rotational slippage, information indicating that the robot is not experiencing rotational slippage is provided, and the system waits for the next detection cycle. It is understood that in other embodiments, it is also possible to first detect whether the robot is experiencing rotational slippage, and if it is determined that the robot is not experiencing rotational slippage, then detect whether the robot is experiencing translational slippage. The detection order of rotational slippage and translational slippage can be determined according to specific circumstances and design.

[0069] In this embodiment, during the robot's linear motion, potential translational slippage can be quickly detected by monitoring the variance of the laser distance in real time. By comparing the translational angular velocity and the rotational angular velocity, it is possible to quickly and accurately detect whether the robot is experiencing rotational slippage.

[0070] like Figure 8 As shown, in an exemplary embodiment, S644 includes: S6444 comparing the point laser distance variance with a preset first distance variance threshold; if the point laser distance variance is less than the preset first distance variance threshold, it is determined that translation slippage has occurred.

[0071] In practical applications, considering that robots typically do not produce displacement, or the displacement is negligible, when they experience translational slippage, the sampled point laser distances remain almost unchanged within the detection cycle. Therefore, the calculated point laser distance variance in this case is very small, approaching zero. If the robot is not experiencing translational slippage and is operating normally, even with a short detection cycle, a certain distance displacement can still be detected. Thus, the calculated point laser distance variance will still differ significantly from the variance calculated when the robot has not moved. Therefore, a very small (approaching zero) distance variance threshold can be set to determine whether the robot has experienced translational slippage. For example, the first distance variance threshold could be 0.001 meters or 0.0005 meters, depending on the specific situation, and is not limited here.

[0072] In specific implementation, taking a first distance variance threshold of 0.001 meters as an example, the method can be as follows: It can compare whether the variance of the point laser distance within the detection period is less than 0.001 meters. If the variance is less than 0.001 meters, it is determined that the robot has experienced translational slippage and has not produced actual displacement; in this case, the calculated point laser distance variance tends to 0. If the variance is greater than or equal to 0.001 meters, it is determined that the robot has not experienced translational slippage, and rotational slippage is detected based on the translational and rotational angular velocities. In some other embodiments, a point laser distance variance equal to 0.001 meters can also be considered as translational slippage.

[0073] In this embodiment, by setting a first distance variance threshold, the distance variance of the point laser is compared with the preset first distance variance threshold, which can quickly and accurately determine whether the robot has slipped during translation.

[0074] like Figure 8 As shown, in an exemplary embodiment, S646 includes: S6462, if it is determined that no translational slippage has occurred, then the absolute difference between the translational angular velocity and the rotational angular velocity is determined; if the absolute difference is greater than a preset first angular velocity threshold, then rotational slippage is determined to have occurred.

[0075] In this embodiment, the absolute difference between translational angular velocity and rotational angular velocity refers to the absolute value of the difference between the translational angular velocity and the rotational angular velocity.

[0076] In practical applications, if a robot experiences rotational slippage while moving straight, the odometry might determine that the robot has not rotated. In this case, the obtained translational angular velocity tends to be 0. However, in reality, the robot has undergone a significant rotation, and the inertial measurement unit can directly measure the angular velocity, resulting in a relatively large rotational angular velocity. Therefore, a significant difference can be established between the translational and rotational angular velocities. To detect whether the robot has experienced rotational slippage, an angular velocity threshold (called the first angular velocity threshold) can be set. The difference between the translational and rotational angular velocities can be compared with this threshold.

[0077] For example, let's take a scenario where the first angular velocity threshold is 1 rad / s (radians per second), the translational angular velocity is wo, and the rotational angular velocity is wi. The process can involve calculating the difference between the translational angular velocity wo and the rotational angular velocity wi, then taking the absolute value of the difference to obtain fabs(wo-wi). Subsequently, we compare whether fabs(wo-wi) is greater than 1. If fabs(wo-wi) is greater than 1, it is determined that the robot has experienced rotational slippage; if fabs(wo-wi) is less than or equal to 1, it is determined that the robot has not experienced rotational slippage, and feedback is given that the robot has not slipped, awaiting the next detection cycle. It is understood that in other embodiments, the first angular velocity threshold can also be 1.1 rad / s, 1.2 rad / s, etc., and is not specifically limited here. In other embodiments, if fabs(wo-wi) equals 1, it can also be determined that the robot has experienced rotational slippage; the specific determination can be made according to the actual situation and design.

[0078] In this embodiment, by setting a first angular velocity threshold, the absolute difference between the translational angular velocity and the rotational angular velocity is compared with the first angular velocity threshold, which can quickly and accurately detect whether the robot is experiencing rotational slippage.

[0079] When the robot is in a rotating motion, it is only necessary to determine whether the robot has experienced rotational slippage. In an exemplary embodiment, S660 includes: S662, determining the point laser distance variance, translational angular velocity, and rotational angular velocity within a preset detection period, and detecting whether rotational slippage has occurred based on the translational angular velocity, rotational angular velocity, and point laser distance variance.

[0080] In this embodiment, similarly, within the slippage detection cycle, the point laser distance variance, translational angular velocity, and rotational angular velocity of the robot within the preset detection cycle can be determined to further determine whether the robot has experienced rotational slippage. In practical applications, when the robot is in a rotating motion state, if the robot rotates normally, both the odometry and the inertial measurement unit will measure the angular velocity normally. At this time, the calculated translational angular velocity and rotational angular velocity within the detection cycle are relatively close, with a small difference between them, and the point laser distance variance is also within the normal range. If the robot experiences rotational slippage, there will be a large difference between the translational angular velocity and the rotational angular velocity, and the point laser distance variance may become abnormal. Therefore, rotational slippage can be detected based on the translational angular velocity, rotational angular velocity, and point laser distance variance.

[0081] In practice, if the difference between the translational angular velocity and the rotational angular velocity is significant, and the variance of the point laser distance is abnormal, it can be determined that the robot is experiencing rotational slippage. In this case, information indicating that the robot is experiencing rotational slippage is provided, and the slippage time and duration can be recorded. If the difference between the translational angular velocity and the rotational angular velocity is small, and the variance of the point laser distance is not abnormal, it can be determined that the robot is not experiencing rotational slippage, and information indicating that no rotational slippage has occurred is provided. The process then waits for the next detection cycle to repeat the slippage detection process.

[0082] In this embodiment, when the robot is in a rotational motion state, a multi-dimensional data fusion detection scheme is formed based on translational angular velocity, rotational angular velocity, and point laser distance variance, which can improve the detection accuracy of rotational slippage.

[0083] like Figure 9 As shown, in an exemplary embodiment, S662 includes:

[0084] S6622, compare the point laser distance variance with a preset second distance variance threshold, where the preset first distance variance threshold is less than the preset second distance variance threshold.

[0085] S6624, determine the absolute difference between the translational angular velocity and the rotational angular velocity, and compare the absolute difference with a preset second angular velocity threshold, wherein the preset second angular velocity threshold is less than a preset first angular velocity threshold.

[0086] S6626, if the variance of the point laser distance is greater than the preset second distance variance threshold and the absolute difference is less than the preset second angular velocity threshold, it is determined that no rotational slippage has occurred.

[0087] In practical applications, unlike when a robot moves in a straight line, when a robot rotates, the environmental coverage area of ​​the LiDAR expands as the rotation angle increases. This means the LiDAR encounters more diverse environmental features, leading to fluctuations in the measured distance and thus increasing the distance variance. Therefore, in this embodiment, the second distance variance threshold is greater than the first distance variance threshold. For example, if the first distance variance threshold is 0.01 meters, the second distance variance threshold could be 0.05 meters. It is understood that in other embodiments, the second distance variance threshold could also be 0.051 meters, 0.052 meters, etc., and this is not specifically limited here.

[0088] Similarly, when the robot is in linear motion, the angular velocity output by the odometry is equal to or approximately equal to 0, while the inertial measurement unit (IMU) directly measures the actual angular velocity. Therefore, the difference between the calculated translational and rotational angular velocities during the detection period is quite significant. When the robot is rotating, both the odometry and the IMU output angular velocities. However, due to the different measurement principles, there is a slight difference between the angular velocities output by the odometry and the IMU. Therefore, the difference between the calculated translational and rotational angular velocities during the detection period is relatively smaller. Therefore, when the robot is rotating, the second angular velocity threshold used to determine whether the robot is experiencing rotational slippage is smaller than the first angular velocity threshold used to determine whether the robot is experiencing rotational slippage when the robot is in linear motion. For example, if the first angular velocity threshold is 1 rad / s, the second angular velocity threshold could be 0.5 rad / s. It is understood that in other embodiments, the second angular velocity threshold could also be 0.051 rad / s, 0.05 rad / s, etc., and is not specifically limited here.

[0089] In practical applications, if the robot experiences rotational slippage, the resulting displacement is very small. Therefore, the variance of the point laser distance calculated within the detection cycle is relatively small. Furthermore, because the displacement is small, the angular velocity estimated by the odometry based on the displacement will be small, while the inertial measurement unit will directly measure the actual angular velocity (which is greater than the angular velocity estimated by the odometry). Therefore, when the robot experiences rotational slippage, the difference between the translational angular velocity and the rotational angular velocity within the detection cycle will be greater than the difference under normal rotational conditions.

[0090] Based on the above, in specific implementation, we will take a second distance variance threshold of 0.05 meters and a second angular velocity threshold of 0.5 rad / s as an example. When the robot is determined to be in a rotational motion state, we determine whether the point laser distance variance is greater than 0.05 meters, determine the absolute difference between the translational angular velocity and the rotational angular velocity, fabs(wo-wi), and determine whether fabs(wo-wi) is less than 0.5. If the point laser distance variance is greater than 0.05 meters and fabs(wo-wi) is less than 0.5, then the robot is in normal rotational motion, and it is determined that the robot has not experienced rotational slippage. Otherwise, it is determined that the robot has experienced rotational slippage. That is, only when both of the above conditions are met simultaneously will it be determined that the robot has not experienced rotational slippage; if at least one condition is not met, it is determined that the robot has experienced rotational slippage.

[0091] In this embodiment, by setting multiple thresholds and multiple judgment conditions, slippage detection is performed by integrating multi-dimensional sensor data. This provides an efficient, accurate, and flexible method for detecting slippage in the robot's rotational motion, which helps improve the accuracy and stability of the robot's positioning in complex environments.

[0092] Because the slippage detection cycle is typically very short, perhaps half a second or 100 milliseconds, in many cases, due to various influencing factors, the robot may misjudge or experience negligible slippage within a very short period. Furthermore, the degree of slippage affects the stability of subsequent positioning; therefore, the degree of slippage can be used to determine whether to switch to the first positioning mode prematurely. Figure 7 As shown, in an exemplary embodiment, such as Figure 9 As shown, 600 includes: S602, during the positioning of the cleaning robot using the second positioning mode, if slippage is detected, the duration of slippage is recorded; if the duration of slippage exceeds a preset duration threshold, the second positioning mode is switched to the first positioning mode.

[0093] In this embodiment, the duration threshold can be set according to the specific needs and operating environment of the cleaning robot. For example, the duration threshold can be set to 5 seconds. It is understood that in other embodiments, the duration threshold can also be 6 seconds, 10 seconds, etc., and is not specifically limited here.

[0094] In practical applications, after prolonged slippage, an error occurs between the robot's actual position and the expected position, making the robot's position information inaccurate. Therefore, the degree of slippage (characterized by the duration of slippage) can be used to determine whether it is necessary to switch the positioning mode to the first positioning mode in order to correct the positioning error.

[0095] For example, once machine slippage is detected, the duration of slippage is recorded. The recorded slippage duration is compared with a duration threshold. If the slippage duration exceeds a preset threshold, such as 5 seconds, it is determined that self-rotation positioning is required, triggering the self-rotation positioning process. If the slippage duration does not exceed 5 seconds, it is determined that self-rotation positioning is not required, and slippage detection continues. Specifically, the self-rotation positioning process may include controlling the machine to rotate at its current position, collecting environmental information through sensors (such as LiDAR), and then comparing the collected environmental information with a known map or previous environmental features to redetermine the robot's precise position. If it is determined that the machine has not slipped, the runtime of the inertial navigation positioning mode is recorded. When the runtime of the inertial navigation positioning mode reaches 2 minutes, the positioning mode is switched from inertial navigation positioning mode to self-rotation positioning mode to continue positioning.

[0096] In this embodiment, if the duration of slippage exceeds a preset duration threshold, the positioning model can be switched to the first positioning mode in advance to correct the positioning error in a timely manner, recalibrate the robot's position on the map, and improve the accuracy of subsequent navigation.

[0097] To provide a clearer explanation of the cleaning robot positioning method provided in this application, a specific embodiment is described below. In this embodiment, the cleaning robot employs a point laser positioning scheme, which includes the following steps:

[0098] S1, the cleaning robot uses a self-rotation positioning mode for positioning.

[0099] Specifically, the cleaning robot (hereinafter referred to as the robot) is configured to perform self-rotation positioning every 2 minutes. When using the self-rotation positioning mode for positioning, the running time of the self-rotation positioning mode is recorded. When the running time reaches the preset running time threshold, the positioning mode is switched from the self-rotation positioning mode to the inertial navigation positioning mode.

[0100] S2, when the running time of the self-rotation positioning mode reaches the preset time threshold, switch the self-rotation positioning mode to the inertial navigation positioning mode.

[0101] S3, during positioning using inertial navigation positioning mode, determines the linear displacement, translational angular velocity, rotational angular velocity, average current, and point laser distance variance within a preset detection period.

[0102] The translational angular velocity is calculated based on the angular velocity output by the cleaning robot's odometry within a preset detection period, while the rotational angular velocity is calculated based on the angular velocity measured by the cleaning robot's inertial measurement unit within the preset detection period. The detection period is 500 milliseconds.

[0103] S4. Compare whether the linear displacement is greater than a preset displacement threshold. If the displacement is greater than the preset displacement threshold, trigger the slippage detection process and compare whether the average current is greater than a preset current threshold.

[0104] For example, if the minimum movement speed of the cleaning robot is 0.01 m / s, the detection period is within 500 milliseconds, and the displacement threshold can be set to 0.005 m.

[0105] S5, when the average current is greater than the preset current threshold, determines the current motion state of the cleaning robot based on the displacement.

[0106] S6, when the current motion state is linear motion, detect whether translational slippage or rotational slippage occurs.

[0107] The detection of translational or rotational slippage involves comparing the variance of the point laser distance with a preset first distance variance threshold, such as 0.001 meters. If the variance of the point laser distance is less than the preset first distance variance threshold, translational slippage is determined to have occurred. If the variance of the point laser distance is greater than or equal to the preset first distance variance threshold, translational slippage is determined not to have occurred, and the process proceeds to the rotational slippage detection procedure. Specifically, this can involve determining the absolute difference between the translational and rotational angular velocities and comparing this absolute difference with a preset first angular velocity threshold, such as 1 rad / s. If the absolute difference is greater than the preset first angular velocity threshold, rotational slippage is determined to have occurred; otherwise, rotational slippage is determined to have occurred.

[0108] S7, when the current motion state is rotational motion, detect whether rotational slippage has occurred.

[0109] Specifically, when the cleaning robot is currently in a rotational motion state, the variance of the point laser distance is compared with a preset second distance variance threshold, such as 0.005 meters, to determine the absolute difference between the translational angular velocity and the rotational angular velocity. The absolute difference is then compared with a preset second angular velocity threshold, such as 0.5 rad / s. If the variance of the point laser distance is greater than the preset 0.005 meters and the absolute difference is less than 0.5 rad / s, it is determined that no rotational slippage has occurred; otherwise, it is determined that rotational slippage has occurred.

[0110] S8. If translational slippage or rotational slippage occurs, record the duration of continuous slippage. If the duration of continuous slippage exceeds the preset duration threshold, switch the inertial navigation positioning mode to the rotation positioning mode.

[0111] The duration threshold is 5 seconds. If machine slippage is detected and the slippage duration exceeds 5 seconds, the inertial navigation positioning mode is switched to rotation positioning mode, and the duration of rotation positioning mode is recorded. When the duration of rotation positioning mode reaches a preset duration, such as 3 minutes, the positioning mode is switched back to inertial navigation positioning mode. If machine slippage does not occur, the duration of inertial navigation positioning mode is recorded. When the duration of inertial navigation positioning mode reaches 2 minutes, the positioning mode is switched back to rotation positioning mode.

[0112] Understandably, during inertial navigation positioning, the robot can also use the aforementioned slip detection method to detect whether translational or rotational slippage occurs. In this way, positioning is performed by alternately switching positioning modes until the robot completes the intended task.

[0113] It should be understood that although the steps in the flowcharts of the embodiments described above are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the embodiments described above may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.

[0114] Based on the same inventive concept, this application also provides a cleaning robot positioning device for implementing the cleaning robot positioning method described above. The solution provided by this device is similar to the solution described in the above method; therefore, the specific limitations in one or more cleaning robot positioning device embodiments provided below can be found in the limitations of the cleaning robot positioning method described above, and will not be repeated here.

[0115] In one exemplary embodiment, such as Figure 11 As shown, a cleaning robot positioning device 800 is provided, including: a positioning module 810, a first mode switching module 820, a slip detection module 830, and a second mode switching module 840, wherein:

[0116] The positioning module 810 is used for positioning using the first positioning mode.

[0117] The first mode switching module 820 is used to switch the first positioning mode to the second positioning mode.

[0118] The slip detection module 830 is used to detect whether the machine slips during positioning using the second positioning mode.

[0119] The second mode switching module 840 is used to switch the second positioning mode to the first positioning mode when slippage is detected during positioning using the second positioning mode.

[0120] In an exemplary embodiment, the second mode switching module 840 is further configured to switch the cleaning robot to the first positioning mode when the running time of the second positioning mode reaches a preset positioning cycle.

[0121] In an exemplary embodiment, the positioning module 810 is further configured to perform positioning by rotation when using a first positioning mode, and to perform positioning by data collected by at least one of a odometer, accelerometer, and gyroscope when using a second positioning mode.

[0122] In an exemplary embodiment, the slip detection module 830 is further configured to record the duration of slip if slip is detected during positioning using the second positioning mode; the second mode switching module is configured to switch the second positioning mode to the first positioning mode if the duration of slip exceeds a preset duration threshold.

[0123] In one exemplary embodiment, the slip detection module 830 is further configured to determine whether translational slip or rotational slip occurs during positioning using the second positioning mode.

[0124] In an exemplary embodiment, the slip detection module 830 is further configured to determine the displacement and average current within a preset detection period during positioning using the second positioning mode, and detect whether translational slip or rotational slip occurs when the displacement is greater than a preset displacement threshold and the average current is greater than a preset current threshold.

[0125] In an exemplary embodiment, the slip detection module 830 is further configured to determine the current motion state based on displacement, and detect whether translational slip or rotational slip occurs when the current motion state is linear motion, and detect whether rotational slip occurs when the current motion state is rotational motion.

[0126] In an exemplary embodiment, the slip detection module 830 is further configured to determine the variance of the point laser distance within a preset detection period when the current motion state is linear motion, detect whether translational slip occurs based on the variance of the point laser distance, and if it is determined that no translational slip has occurred, detect whether rotational slip has occurred based on the translational angular velocity and the rotational angular velocity.

[0127] In an exemplary embodiment, the slip detection module 830 is further configured to compare the point laser distance variance with a preset first distance variance threshold, and if the point laser distance variance is less than the preset first distance variance threshold, it is determined that translation slip has occurred.

[0128] In an exemplary embodiment, the slip detection module 830 is further configured to determine the absolute difference between the translational angular velocity and the rotational angular velocity. If the absolute difference is greater than a preset first angular velocity threshold, rotational slip is determined to have occurred.

[0129] In an exemplary embodiment, the slip detection module 830 is further configured to determine the point laser distance variance, translational angular velocity, and rotational angular velocity within a preset detection period when the current motion state is rotational motion, and detect whether rotational slippage occurs based on the translational angular velocity, rotational angular velocity, and point laser distance variance.

[0130] In an exemplary embodiment, the slip detection module 830 is further configured to compare the point laser distance variance with a preset second distance variance threshold, determine the absolute difference between the translational angular velocity and the rotational angular velocity, and compare the absolute difference with a preset second angular velocity threshold. If the point laser distance variance is greater than the preset second distance variance threshold and the absolute difference is less than the preset second angular velocity threshold, it is determined that no rotational slip has occurred.

[0131] like Figure 12 As shown, in an exemplary embodiment, the device further includes a data comparison module 812, which is used to compare the displacement with a preset displacement threshold, and if the displacement is greater than the preset displacement threshold, compare whether the average current is greater than a preset current threshold, and if the average current is less than or equal to the preset current threshold, determine that slippage has not occurred.

[0132] Each module in the aforementioned cleaning robot positioning device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in or independent of the processor in a computer device, or stored in the memory of a computer device as software, so that the processor can call and execute the corresponding operations of each module.

[0133] In an exemplary embodiment, a cleaning robot is provided, including a body, a drive component, a cleaning component, a sensing module, a memory, and a processor. The drive component, the cleaning component, and the sensing module are all mounted on the body. The drive component is used to drive the body to walk on a working surface. The cleaning component is used to clean the working surface. The memory stores a computer program. When the computer program is executed by the processor, it implements the steps in any of the above embodiments of the cleaning robot positioning method to perform positioning.

[0134] Those skilled in the art will understand that the structure shown above for the cleaning robot is only a partial structure related to the solution of this application and does not constitute a limitation on the computer device on which the solution of this application is applied. The specific computer device may include more or fewer components than shown above, or combine certain components, or have different component arrangements.

[0135] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the steps in any of the above embodiments of the cleaning robot positioning method.

[0136] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in any of the above embodiments of the cleaning robot positioning method.

[0137] It should be noted that the data involved in this application (including but not limited to data used for analysis such as odometer data, inertial measurement unit data, stored data, and displayed data) are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.

[0138] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.

[0139] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.

[0140] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.

Claims

1. A cleaning robot positioning method characterized by, The method comprises: The cleaning robot adopts a first positioning mode for positioning; The cleaning robot switches the first positioning mode to a second positioning mode; During the cleaning robot adopts the second positioning mode for positioning, when it is determined that slippage occurs, the cleaning robot switches the second positioning mode to the first positioning mode.

2. The method of claim 1, wherein, The method further comprises: When the running time of the second positioning mode reaches a preset positioning period, the cleaning robot switches the second positioning mode to the first positioning mode.

3. The method according to claim 1 or 2, characterized in that, The method further comprises: When the cleaning robot adopts the first positioning mode, it positions by self-rotation; When the cleaning robot adopts the second positioning mode, it positions by data collected by at least one sensor of an odometer, an accelerometer, and a gyroscope.

4. The method according to claim 1 or 2, characterized in that, The cleaning robot is configured to alternately adopt the first positioning mode and the second positioning mode for positioning.

5. The method according to claim 1 or 2, characterized in that, The method further comprises: During the cleaning robot adopts the second positioning mode for positioning, if it is detected that slippage occurs, the duration of the slippage is recorded; If the duration of the slippage exceeds a preset duration threshold, the second positioning mode is switched to the first positioning mode.

6. The method of claim 1 or 2, wherein, The slippage includes translational slippage or rotational slippage.

7. The method of claim 6, wherein, During the cleaning robot adopts the second positioning mode for positioning, determining whether translational slippage or rotational slippage occurs comprises: The cleaning robot determines displacement and average current in a preset detection period; In a case where the displacement is greater than a preset displacement threshold and the average current is greater than a preset current threshold, it is detected whether translational slippage or rotational slippage occurs.

8. The method of claim 7, wherein, The detection of whether translational slippage or rotational slippage occurs comprises: Based on the displacement, a current motion state is determined; In a case where the current motion state is linear motion, it is detected whether translational slippage or rotational slippage occurs; In a case where the current motion state is rotational motion, it is detected whether rotational slippage occurs.

9. The method of claim 8, wherein, The detection of whether translational slippage or rotational slippage occurs in the case where the current motion state is linear motion comprises: A point laser distance variance in a preset detection period is determined; Based on the point laser distance variance, it is detected whether translational slippage occurs; If it is determined that translational slippage does not occur, based on a translational angular velocity and a rotational angular velocity, it is detected whether rotational slippage occurs.

10. The method of claim 9, wherein, The detection of whether translational slippage occurs based on the point laser distance variance comprises: The point laser distance variance is compared with a preset first distance variance threshold; If the point laser distance variance is less than the preset first distance variance threshold, it is determined that translational slippage occurs.

11. The method of claim 9, wherein, The determination of whether rotational slippage occurs based on the translational angular velocity and the rotational angular velocity comprises: An absolute difference value of the translational angular velocity and the rotational angular velocity is determined; If the absolute difference value is greater than a preset first angular velocity threshold, it is determined that rotational slippage occurs.

12. The method of claim 10, wherein, The detection of whether rotational slippage occurs in the case where the current motion state is rotational motion comprises: A point laser distance variance, a translational angular velocity, and a rotational angular velocity in a preset detection period are determined; Detecting whether rotation slip occurs based on the translation angular velocity, the rotation angular velocity and the point laser distance variance.

13. The method of claim 12, wherein, The detecting whether rotation slip occurs based on the translation angular velocity, the rotation angular velocity and the point laser distance variance comprises: comparing the point laser distance variance with a preset second distance variance threshold value; determining an absolute difference value of the translation angular velocity and the rotation angular velocity, and comparing the absolute difference value with a preset second angular velocity threshold value; in a case where the point laser distance variance is greater than the preset second distance variance threshold value and the absolute difference value is less than the preset second angular velocity threshold value, determining that no rotation slip occurs.

14. The method according to any one of claims 7 to 13, characterized in that, The method further comprises: in a case where the displacement is greater than the preset displacement threshold value, comparing whether the average current is greater than a preset current threshold value; in a case where the average current is less than or equal to the preset current threshold value, determining that no slip occurs.

15. A cleaning robot, comprising a machine body, a driving assembly, a cleaning assembly, a sensing module, a memory and a processor, the driving assembly, the cleaning assembly and the sensing module are all mounted on the machine body, the driving assembly is used to drive the machine body to walk on a working surface, the cleaning assembly is used to clean the working surface, the memory stores a computer program, characterized in that, The computer program, when executed by a processor, implements the steps of the method of any one of claims 1 to 14.

Citation Information

Patent Citations

  • Mobile robot slipping early warning method, storage medium and mobile robot

    CN111103877A

  • Self-moving robot positioning method and device, robot and readable storage medium

    CN112179353A

  • Method for solving slipping problem of cleaning robot and cleaning robot

    CN114343522A

  • Robot slipping detection method and device, robot and storage medium

    CN115393245A

  • Robot, robot slipping processing method and device and readable storage medium

    CN115685236A