A method for carpet detection and carpet avoidance for a cleaning robot
By combining the motor current value of the cleaning component with the reflected signal value of the ultrasonic sensor, the robot can determine whether it is on the carpet and perform spin and backward movements, thus solving the problem that the cleaning robot cannot recognize the carpet and improving the recognition accuracy and cleaning effect.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- HONGYANG HOME APPLIANCES
- Filing Date
- 2024-11-15
- Publication Date
- 2026-05-26
AI Technical Summary
When a cleaning robot enters a carpet on the side without an ultrasonic sensor, it cannot recognize the carpet, causing it to malfunction and affecting the user experience.
By monitoring the current value of the cleaning component motor and combining it with the preset current threshold and the reflected signal value of the ultrasonic sensor, the system determines whether the robot is on the carpet and controls the robot to perform spin motion and move backward to avoid the carpet.
It improves the accuracy of carpet recognition, reduces the probability that the robot cannot recognize carpets, avoids damage to cleaning parts or carpets, and improves cleaning effect and avoidance efficiency.
Smart Images

Figure CN122074850A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of intelligent robot technology, and in particular to a carpet detection and carpet avoidance method for a cleaning robot. Background Technology
[0002] Cleaning robots, as a type of intelligent cleaning device in modern home life, can automatically clean the floors in a house.
[0003] In typical home environments, carpets are frequently encountered during cleaning. Most cleaning robots need to use ultrasonic sensors to identify whether a surface is carpeted before controlling the robot to move away from it. For example, patent document CN116172445A discloses a carpet identification method for cleaning robots, which controls the ultrasonic sensor to emit ultrasonic signals towards the current ground and receives the actual echo signals reflected from the current ground; based on the difference between the actual echo signal and the standard echo signal, it identifies whether the current ground surface is a carpet surface.
[0004] However, if the cleaning robot enters the carpet from the side without an ultrasonic sensor, it may not be able to detect the carpet, causing the cleaning robot to malfunction and affecting the user experience. Summary of the Invention
[0005] To address the aforementioned technical issues, this disclosure provides a carpet detection and carpet avoidance method for a cleaning robot, thereby improving the accuracy of carpet recognition.
[0006] In a first aspect, embodiments of this disclosure provide a carpet detection method for a cleaning robot, the cleaning robot including a cleaning component and a motor for the cleaning component, the method comprising:
[0007] During the movement of the cleaning robot, the real-time current value corresponding to the first preset time period is obtained based on the current value of the cleaning component motor at each current acquisition time point, as well as the first current reference value of the cleaning robot. The first preset time period includes multiple current acquisition time points.
[0008] Based on the comparison between the real-time current value and the first preset current threshold, a first current comparison value corresponding to the first preset time period is obtained;
[0009] When the first current comparison value is greater than the first current reference value, it is determined that the cleaning robot is on the carpet.
[0010] In some embodiments, the cleaning robot includes an ultrasonic sensor, the cleaning component and the ultrasonic sensor are respectively located on both sides of the central axis of the cleaning robot, the central axis being along the forward direction of the cleaning robot or along a perpendicular line to the forward direction;
[0011] The method further includes, before determining that the cleaning robot is on the carpet:
[0012] The reflected signal value of the ground is obtained by using an ultrasonic sensor.
[0013] In some embodiments, after acquiring the reflected signal value from the ground using an ultrasonic sensor, the process includes:
[0014] Based on the first current comparison value and the reflected signal value, the first current reference value is corrected to obtain the second current reference value;
[0015] Alternatively, the first preset current threshold can be modified based on the first preset current threshold and the reflected signal value to obtain a second preset current threshold.
[0016] In some embodiments, determining that the cleaning robot is on the carpet includes:
[0017] The cleaning robot is controlled to perform a spin motion. If, at any moment during the spin motion, the reflected signal value is within a preset signal range corresponding to the carpet feature, then it is determined that the cleaning robot is on the carpet.
[0018] In some embodiments, obtaining a first current reference value for the cleaning robot includes:
[0019] Obtain the current values of the cleaning component motor at a preset number of current acquisition time points to obtain the preset number of current values;
[0020] If the variance of the preset number of current values is less than the variance threshold, then the average value of the preset number of current values is calculated to obtain the average current value.
[0021] The first current reference value is obtained by calculating the product of the average current value and the first preset multiplier.
[0022] This disclosure provides a carpet avoidance method for a cleaning robot. The cleaning robot includes a cleaning component and a motor for the cleaning component. After determining that the cleaning robot is on a carpet, the method includes:
[0023] Control the cleaning robot to move backward until the reflected signal value of the ground obtained by the ultrasonic sensor is no longer within the preset signal range;
[0024] If the first current comparison value of the cleaning component motor is greater than or equal to the first current reference value, the cleaning robot is controlled to retreat along a preset arc path until the first current comparison value is less than the first current reference value, at which point the cleaning robot is determined to have exited the carpet area.
[0025] The first current comparison value is obtained by comparing multiple real-time current values within a first preset time period with a first preset current threshold.
[0026] In some embodiments, the cleaning component includes a side brush, and after determining that the cleaning robot is on the carpet, the method further includes:
[0027] Calculate the real-time current value of the cleaning component within the second preset time period to obtain the current value of the carpet edge brush;
[0028] After determining that the cleaning robot has exited the carpeted area, the method further includes:
[0029] The cleaning component is extended and the cleaning robot is made to spin until the current value of the cleaning component motor reaches the preset edge current value, which is less than the current value of the carpet edge brush and greater than the current value of the calibrated floor edge brush.
[0030] Control the cleaning robot to move, and maintain the current value of the cleaning component motor at the preset edge current value during the movement.
[0031] In some embodiments, prior to controlling the extension of the cleaning element, the method further includes:
[0032] The cleaning robot is controlled to retreat along a straight line or along the preset arc path until the current value of the cleaning component motor is less than the third current reference value, which is less than the first current reference value.
[0033] In some embodiments, the cleaning component is located on one side of the central axis of the cleaning robot, which is along the forward direction of the cleaning robot or along a perpendicular line to the forward direction.
[0034] The control of the cleaning robot to perform spin motion includes:
[0035] When the current value of the cleaning component motor is less than the preset edge current value, the cleaning robot is controlled to spin in the direction of the cleaning component relative to the central axis; or,
[0036] When the current value of the cleaning component motor is greater than the preset edge current value, the cleaning robot is controlled to spin in the opposite direction of the cleaning component relative to the central axis.
[0037] In some embodiments, controlling the cleaning robot to perform a spin motion includes:
[0038] The angular velocity of the spin motion is determined based on the difference between the current value of the cleaning component motor and the preset edge current value, and the angular velocity is proportional to the difference.
[0039] The carpet detection and carpet avoidance method for cleaning robots provided in this embodiment determines whether the robot is on a carpet by confirming whether the current value of the cleaning component is greater than a first current reference value. This reduces the probability that the robot cannot detect the carpet after it is on the non-ultrasonic side, and improves the accuracy of recognition.
[0040] In some embodiments, by combining the cleaning component current data with the detection results of the ultrasonic sensor to jointly determine whether the cleaning robot is on the carpet, the accuracy of carpet recognition is further improved and the probability of misidentification by a single detection method is reduced.
[0041] In some embodiments, by correcting the first current reference value or the first preset current threshold based on the carpet detection result of the first current comparison value and the carpet detection result of the reflected signal value, the carpet detection accuracy based on the current value of the cleaning component motor can be further improved during the walking of the cleaning robot.
[0042] In some embodiments, by calibrating the first current reference value in real time during the actual operation of the cleaning robot, errors between different models of cleaning robots or cleaning components or ground conditions can be avoided. This allows for the targeted setting of the first current reference value for the currently used cleaning robot and the current cleaning work environment, further improving the accuracy of the carpet detection method.
[0043] In some embodiments, this disclosure combines the cleaning component current and ultrasonic sensor data to comprehensively determine whether the robot has completely removed the carpet, avoiding the situation where the carpet is not completely removed due to relying solely on ultrasonic sensor data, which could damage the cleaning component or the carpet.
[0044] In some embodiments, this disclosure controls the cleaning robot to maintain the cleaning component current at a preset edge current value during movement, ensuring that part of the cleaning component is on the carpet and part is under the carpet, thereby enabling it to avoid the carpet while completing edge cleaning and improving the cleaning effect.
[0045] In some embodiments, by controlling the cleaning robot to continue retreating after removing the carpet until the current value of the cleaning component motor is less than the third current reference value, space is reserved for the cleaning component to pop out, while avoiding the cleaning robot retreating to a position too far away from the carpet, reducing the number of times the robot probes the carpet in the forward direction, and improving the efficiency of avoiding the carpet. Attached Figure Description
[0046] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.
[0047] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, for those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0048] Figure 1 A flowchart of a carpet detection method for a cleaning robot provided in this embodiment of the present disclosure;
[0049] Figure 2 A schematic diagram of a cleaning robot provided in an embodiment of this disclosure;
[0050] Figure 3 A flowchart of a carpet avoidance method for a cleaning robot provided in another embodiment of this disclosure;
[0051] Figure 4 This is a schematic diagram of a cleaning robot avoiding carpet obstacles provided in an embodiment of this disclosure;
[0052] Figure 5 A schematic diagram of the cleaning robot spinning during carpet avoidance provided in this embodiment of the disclosure;
[0053] Figure 6 This is a schematic diagram of a cleaning robot cleaning along the edges of a carpet, provided by an embodiment of this disclosure;
[0054] Figure 7 A schematic diagram of the carpet detection device for a cleaning robot provided in an embodiment of this disclosure;
[0055] Figure 8 A schematic diagram of the carpet avoidance device for a cleaning robot provided in an embodiment of this disclosure;
[0056] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation
[0057] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.
[0058] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.
[0059] This disclosure provides a carpet detection method for a cleaning robot, and the method is described below with reference to specific embodiments.
[0060] Figure 1 This is a flowchart illustrating a carpet detection method for a cleaning robot provided in this disclosure. The method can be applied to a cleaning robot, which includes a cleaning component and a motor for that component. It is understood that the carpet detection method for a cleaning robot provided in this disclosure can also be applied to other scenarios.
[0061] The following is about Figure 1 The carpet detection method of the cleaning robot shown is introduced below, and the specific steps of the method are as follows:
[0062] S101. During the walking process of the cleaning robot, the real-time current value corresponding to the first preset time period and the first current reference value of the cleaning robot are obtained according to the current value of the cleaning component motor at each current acquisition time point. The first preset time period includes multiple current acquisition time points.
[0063] The current acquisition time points are multiple time points set according to a certain pattern, such as several time points with a preset acquisition cycle interval.
[0064] During the cleaning task, the cleaning robot follows a pre-planned route while using its cleaning components to clean the ground. Throughout this process, the current value of the cleaning component's motor is monitored in real time, providing the current value at each sampling point.
[0065] Optionally, a queue of length N is maintained in the internal storage space of the cleaning robot to store the current value of the cleaning component motor at each current sampling time point acquired within a first preset time period, where N is the number of current sampling time points included in the first preset time period. For example, if the first preset time period is 2 seconds and the preset sampling period is 20 ms, then the queue length N is 2 seconds / 20 ms, totaling 100.
[0066] Furthermore, based on multiple current values of the motor of the cleaned component within the first time period, the real-time current value corresponding to the first time period is calculated. For example, the average of multiple current values is calculated to obtain the real-time current value corresponding to the first time period.
[0067] The first preset time period refers to any time period during which the cleaning robot performs its cleaning task. This first preset time period includes multiple current sampling points. Since the cleaning robot acquires the real-time current value of the cleaning component's motor at each current sampling point during its movement, multiple current values corresponding to the multiple current sampling points can be obtained after the first preset time period.
[0068] S102. Based on the comparison between the real-time current value and the first preset current threshold, a first current comparison value corresponding to the first preset time period is obtained.
[0069] The real-time current value essentially reflects the current status of the cleaning component motor within a first preset time period. Comparing the real-time current value with a first preset current threshold, the resulting first current comparison value reflects the difference between the real-time current value and the first preset current threshold.
[0070] S103. When the first current comparison value is greater than the first current reference value, it is determined that the cleaning robot is on the carpet.
[0071] The first current reference value is the maximum difference between the real-time current value and the first preset current threshold value.
[0072] When the cleaning robot is on a carpet, the current drawn by the cleaning components is significantly greater than that drawn when the robot is on a normal floor because the resistance it experiences is greater than that it experiences on a carpet.
[0073] The current value of the cleaning component motor varies when the robot walks on non-carpet surfaces of different materials. Therefore, for a first preset time period, if the real-time current is slightly greater than the first preset current threshold, and the first current comparison value is less than or equal to the first current reference value, it means that the robot is highly likely still walking on non-carpet surfaces.
[0074] When the first current comparison value is greater than the first current reference value, it means that the resistance experienced by the robot cleaning component exceeds the reasonable range for non-carpet floors, and at this time it is determined that the cleaning robot is on a carpet.
[0075] This embodiment of the invention obtains a real-time current value corresponding to a first preset time period and a first current reference value for the cleaning robot based on the current value of the cleaning component motor at each current acquisition time point during the robot's movement. The first preset time period includes multiple current acquisition time points. A first current comparison value corresponding to the first preset time period is obtained by comparing the real-time current value with a first preset current threshold. When the first current comparison value is greater than the first current reference value, it is determined that the cleaning robot is on a carpet. By combining the cleaning component current data, the system determines whether the robot is on a carpet, reducing the probability that the robot cannot detect the carpet after it is on the non-ultrasonic side, thus improving the accuracy of identification.
[0076] Based on the above embodiments, the cleaning robot includes an ultrasonic sensor. The cleaning component and the ultrasonic sensor are located on opposite sides of the central axis of the cleaning robot, which is either along the robot's forward direction or perpendicular to that direction. The cleaning component can be a side-sweeping device, and it has two states: a retracted state and an extended state. When the cleaning component is retracted, more than half of its area is located below the robot's body; when the cleaning component is extended, more than half of its area is located outside the robot's body.
[0077] Figure 2 This is a schematic diagram of a cleaning robot provided in an embodiment of this disclosure. Figure 2 As shown, the vertical direction is the central axis of the cleaning robot. An ultrasonic sensor 21 is installed to the left of the central axis, and a cleaning component 22 is installed to the right of the central axis. It is understandable that... Figure 2 This is merely one possible example of a cleaning robot; for ease of description, the following embodiments are all based on... Figure 2 The cleaning robot shown is used as an example for illustration; in reality, the structure of the cleaning robot and the installation positions of its ultrasonic sensors and cleaning components are not limited to... Figure 2 As shown.
[0078] Before determining that the cleaning robot is on the carpet, the method further includes: acquiring the reflected signal value of the ground through an ultrasonic sensor; correcting the first current reference value according to the first current comparison value and the reflected signal value to obtain a second current reference value; or, correcting the first preset current threshold according to the first preset current threshold and the reflected signal value to obtain a second preset current threshold.
[0079] The reflected signal value obtained by the ultrasonic sensor can also determine whether the robot body at the location where the ultrasonic sensor is installed is on the carpet; combined with the determination result of the first current comparison value, the location of the cleaning robot on the carpet can be confirmed a second time.
[0080] If the judgment result corresponding to the first current comparison value is the same as that corresponding to the reflected signal value, it can be confirmed whether the cleaning robot is currently on the carpet; if the judgment result corresponding to the first current comparison value is different from that corresponding to the reflected signal value, the first current reference value and / or the first preset current value should be corrected.
[0081] Specifically, when the reflected signal value indicates that the cleaning robot is on the carpet, but the first current comparison value indicates that the cleaning robot is not on the carpet, it is necessary to reduce the triggering difficulty when the first current comparison value is greater than the first current reference value. In this case, the first current reference value and / or the first preset current threshold are reduced to obtain the second current reference value and / or the second preset current threshold. Conversely, when the reflected signal value indicates that the cleaning robot is not on the carpet, but the first current comparison value indicates that the cleaning robot is on the carpet, it is necessary to increase the triggering difficulty when the first current comparison value is greater than the first current reference value. In this case, the first current reference value is increased and / or the first preset current threshold is decreased to obtain the second current reference value and / or the second preset current threshold.
[0082] When determining whether the cleaning robot is on the carpet again, the determination is made based on the real-time current value corresponding to any time period after the first preset time period (e.g., the time period after the first preset time period) and the updated second current reference value and / or the second preset current threshold.
[0083] For example, if the first current reference value is updated to the second current reference value, but the first preset current threshold is not updated, then the real-time current value corresponding to any of the above time periods is compared with the first preset current threshold to obtain the second current comparison value; when the second current comparison value is greater than the second current reference value, it is determined that the cleaning robot is on the carpet.
[0084] Alternatively, if the first current reference value is not updated, and the first preset current threshold is updated to the second preset current threshold, then the real-time current value corresponding to any of the above time periods is compared with the second preset current threshold to obtain the second current comparison value; when the second current comparison value is greater than the first current reference value, it is determined that the cleaning robot is on the carpet.
[0085] Alternatively, if the first current reference value is updated to the second current reference value and the first preset current threshold is updated to the second preset current threshold, then the real-time current value corresponding to any of the above time periods is compared with the second preset current threshold to obtain the second current comparison value; when the second current comparison value is greater than the second current reference value, it is determined that the cleaning robot is on the carpet.
[0086] Accordingly, determining that the cleaning robot is on the carpet includes: if at any moment during the spin motion, the reflected signal value is within a preset signal range corresponding to the carpet feature, then the cleaning robot is determined to be on the carpet.
[0087] Since the cleaning component and the ultrasonic sensor are located on opposite sides of the central axis of the cleaning robot, when the current comparison value corresponding to the first preset time period is greater than the first current reference value, it is initially determined that the cleaning robot is on the carpet at this time. However, it is possible that only the edge of the cleaning component is on the carpet, but the body of the cleaning robot is not on the carpet.
[0088] The cleaning robot uses ultrasonic sensors to confirm whether it is currently on the carpet, first by performing a spin motion. The ultrasonic sensors continuously emit ultrasonic signals towards the ground, and the reflected signal values determine the material and unevenness of the ground beneath the sensors. The preset signal range corresponding to carpet characteristics is either pre-calibrated or determined by user settings.
[0089] If, during the spin process, the ultrasonic sensor collects a reflected signal value within a preset signal range corresponding to the carpet feature, it indicates that at least part of the robot body is on the carpet, and at this point, it can be confirmed that the cleaning robot is on the carpet.
[0090] Optionally, the rotation direction of the spin motion is: based on the forward direction of the cleaning robot, the ultrasonic sensor is in the opposite direction to the direction of the cleaning part, so that the ultrasonic sensor can receive the reflected signal value from the carpet as soon as possible.
[0091] like Figure 2 As shown, with the forward direction of the cleaning robot as the reference, and the direction of the ultrasonic sensor relative to the cleaning part being to the left, when the current comparison value is greater than the first current reference value, the cleaning robot is controlled to perform a self-spinning motion to the right.
[0092] This embodiment of the disclosure further improves the accuracy of carpet recognition and reduces the probability of misidentification by combining the cleaning component current data with the detection results of the ultrasonic sensor to determine whether the cleaning robot is on the carpet.
[0093] Furthermore, by correcting the first current reference value or the first preset current threshold based on the carpet detection result of the first current comparison value and the carpet detection result of the reflected signal value, the accuracy of carpet detection based on the current value of the cleaning component motor can be further improved during the walking process of the cleaning robot.
[0094] In some embodiments, obtaining the first current reference value of the cleaning robot includes: obtaining the current value of the cleaning component motor at a preset number of current acquisition time points to obtain a preset number of current values; if the variance of the preset number of current values is less than a variance threshold, calculating the average value of the preset number of current values to obtain an average current value; and calculating the product of the average current value and a first preset multiplier to obtain the first current reference value.
[0095] After the cleaning robot begins its cleaning task, the current values of the cleaning component motors are acquired at a preset number of current sampling time points, resulting in a preset number of current values. Since the cleaning robot typically starts its cleaning task from a base station, the area around the base station is usually ordinary ground (not carpet). Therefore, the current values of the cleaning component motors acquired at the preset number of current sampling time points can reflect the current situation of the cleaning component motors on ordinary ground.
[0096] Before calculating the first current reference value, it is necessary to verify the stability of the obtained preset number of current values to ensure the reliability of the first current reference value. In this step, the variance of the preset number of current values is used to evaluate the stability of the real-time current value. If the variance is less than the variance threshold, it means that the current value is stable, and the first current reference value is further calculated based on the preset number of current values.
[0097] The current value will fluctuate to some extent. This fluctuation may be due to unevenness or tilt of the ground or error of the current sensor. Therefore, based on the average current value, it is necessary to appropriately widen the current detection range, that is, to calculate the product of the average current value and the first preset multiplier, where the first preset multiplier is greater than 1.
[0098] This embodiment of the invention calibrates the first current reference value in real time during the actual operation of the cleaning robot, which can avoid errors between different models of cleaning robots or cleaning components or ground conditions. This allows for the targeted setting of the first current reference value for the currently used cleaning robot and the current cleaning work environment, further improving the accuracy of the carpet detection method.
[0099] Figure 3 This is a flowchart of a carpet avoidance method for a cleaning robot according to another embodiment of this disclosure. The cleaning robot includes a cleaning component and a cleaning component motor. After determining that the cleaning robot is on the carpet, as follows... Figure 3 As shown, the method includes the following steps:
[0100] S301. Control the cleaning robot to move backward until the reflected signal value of the ground obtained by the ultrasonic sensor is not within the preset signal range.
[0101] As the cleaning robot reverses, the ultrasonic sensors continue to emit ultrasonic signals to the ground and receive the corresponding reflected signals, monitoring the ground conditions beneath them in real time. When the reflected signal value obtained by the ultrasonic sensors is outside the preset signal range, it is determined that the location of the ultrasonic sensors within the cleaning robot has moved out of the carpet area.
[0102] S302. If the first current comparison value of the cleaning component motor is greater than or equal to the first current reference value, then control the cleaning robot to retreat along a preset arc path until the first current comparison value is less than the first current reference value, and then determine that the cleaning robot has exited the carpet area.
[0103] The first current comparison value is obtained by comparing multiple real-time current values within a first preset time period with a first preset current threshold.
[0104] When the ultrasonic sensor inside the cleaning robot has moved out of the carpet area, but the first current comparison value is still greater than or equal to the first current reference value, it means that the cleaning component is still in contact with the carpet and the cleaning robot has not completely moved out of the carpet area.
[0105] If the cleaning robot then performs an arc-shaped or spinning motion, its mop attachment may come into contact with the carpet, severely impacting the user experience. In this case, the cleaning robot is controlled to perform a spinning motion while simultaneously reversing, following a preset arc-shaped path until the first current comparison value is less than the first current reference value. At this point, it is confirmed that the cleaning components are not in contact with the carpet, and the cleaning robot completely exits the carpeted area.
[0106] During the backward movement along the preset arc path, the cleaning robot rotates towards the ultrasonic sensor, ensuring that the ultrasonic sensor does not re-enter the carpet area.
[0107] Figure 4 This is a schematic diagram illustrating carpet avoidance by a cleaning robot according to an embodiment of this disclosure. Figure 4 As shown, when the cleaning robot enters the carpet area laterally, it is controlled to retreat until the location of the ultrasonic sensor 41 exits the carpet area, but the cleaning component 42 is still in the carpet area. At this time, the first current comparison value of the motor of the cleaning component 42 is greater than or equal to the first current reference value.
[0108] If the cleaning robot then performs a spinning motion or an arc to the left and forward, the mop 43 will enter the carpet area. Therefore, controlling the cleaning robot to retreat along a preset arc path will allow the cleaning robot to successfully exit the carpet area.
[0109] This embodiment of the invention determines whether the cleaning robot has completely retreated from the carpet after it is determined to be on the carpet. The robot retreats until the reflected signal value of the ground obtained by the ultrasonic sensor is no longer within a preset signal range. If the first current comparison value of the cleaning component motor is greater than or equal to the first current reference value, the robot retreats along a preset arc path until the first current comparison value is less than the first current reference value, at which point the robot is determined to have exited the carpet area. By combining the cleaning component current and ultrasonic sensor data, the invention comprehensively determines whether the robot has completely retreated from the carpet, avoiding damage to the cleaning component or the carpet caused by relying solely on ultrasonic sensor data and failing to completely retreat from the carpet.
[0110] Based on the above embodiments, after determining that the cleaning robot is on the carpet, the method further includes: calculating the real-time current value of the cleaning component within a second preset time period to obtain the current value of the carpet edge brush.
[0111] After determining that the cleaning robot has exited the carpet area, the method further includes: controlling the cleaning component to extend and controlling the cleaning robot to perform a spin motion until the current value of the cleaning component motor reaches a preset edge current value, wherein the preset edge current value is less than the current value of the carpet edge brush and greater than the current value of the calibrated floor edge brush; controlling the cleaning robot to move, and maintaining the current value of the cleaning component motor at the preset edge current value during the movement.
[0112] The second preset time period includes multiple current acquisition time points. At each current acquisition time point, the current value of the cleaning component motor is acquired once. The average value of these real-time current values is calculated, and the resulting carpet side brush current value represents the current magnitude of the cleaning component motor after the cleaning robot is on the carpet.
[0113] Optionally, before the cleaning component extends, the method further includes: controlling the cleaning robot to retreat along a straight line or along the preset arc path until the current value of the cleaning component motor is less than a third current reference value, wherein the third current reference value is less than the first current reference value.
[0114] The third current reference value is greater than the calibrated ground edge brush current value.
[0115] During the process of controlling the robot to retreat along a straight line or a preset arc path, the cleaning component remains in the retracted state. At this time, if the current value of the cleaning component's motor is less than the third current reference value, it indicates that the cleaning robot has exited the carpet area, and only a very small portion of the cleaning component is in contact with the carpet. Furthermore, when the motor current value is the preset edge current value, the portion of the cleaning component on the carpet is less, and the portion on the ground is more. If the cleaning component were to extend at this point, it would cause the cleaning component's motor current value to increase, approaching the preset edge current value. Therefore, controlling the cleaning component's motor current value to be less than the third current reference value allows for control over the extension of the cleaning component, preventing an excessive portion of the cleaning component from being on the carpet after extension.
[0116] Normally, even when the cleaning component is retracted, some areas will still extend beyond the body of the cleaning robot. When the current value of the cleaning component motor is less than the third current reference value, it stops retracting along a straight line or a preset arc path. At this time, the current value of the cleaning component motor is greater than the current value of the calibrated floor brush, which can prevent the cleaning component from completely exiting the carpet area when it is retracted, and also allow the body of the cleaning robot to exit the carpet area.
[0117] This embodiment controls the cleaning robot to continue retreating after it has removed the carpet until the current value of the cleaning component motor is less than the third current reference value. This allows space for the cleaning component to pop out, while also preventing the cleaning robot from retreating too far from the carpet, reducing the number of times the robot attempts to probe the carpet in the forward direction, and improving the efficiency of avoiding the carpet.
[0118] Optionally, the cleaning component is located on one side of the central axis of the cleaning robot, and the central axis is along the forward direction of the cleaning robot or along a perpendicular line to the forward direction; controlling the cleaning robot to perform a spin motion includes: when the current value of the cleaning component motor is less than the preset edge current value, controlling the cleaning robot to spin in the direction of the cleaning component relative to the central axis; or, when the current value of the cleaning component motor is greater than the preset edge current value, controlling the cleaning robot to spin in the opposite direction of the direction of the cleaning component relative to the central axis.
[0119] When the current value of the cleaning component motor is less than the preset edge-cleaning current value, it can be determined that the portion of the cleaning component currently on the carpet is less than the portion that would be ideally on the carpet during edge-cleaning, which may result in incomplete cleaning. In this case, the cleaning component needs to be moved closer to the carpet. Conversely, when the current value of the cleaning component motor is less than the preset edge-cleaning current value, it can be determined that the portion of the cleaning component currently on the carpet is more than the portion that would be ideally on the carpet during edge-cleaning, which may result in excessive resistance to the cleaning component, potentially damaging the cleaning component or the carpet. In this case, the cleaning component needs to be moved away from the carpet.
[0120] Meanwhile, since the ultrasonic sensor is now outside the carpet area, when it is necessary to move the cleaning component closer to the carpet, the cleaning robot is controlled to rotate in the direction of the cleaning component relative to the ultrasonic sensor. Also, since the cleaning component is located on one side of the cleaning robot's central axis and the ultrasonic sensor is located on the other side of the central axis, controlling the cleaning robot to rotate in the direction of the cleaning component relative to the central axis will move the cleaning component closer to the carpet.
[0121] Similarly, when it is necessary to move the cleaning component away from the carpet, the cleaning robot is controlled to spin in the direction of the ultrasonic sensor relative to the cleaning component, that is, the cleaning robot is controlled to spin in the opposite direction of the cleaning component relative to the central axis.
[0122] Figure 5 This is a schematic diagram of the cleaning robot spinning during carpet avoidance, provided in an embodiment of this disclosure. Figure 5 As shown, the ultrasonic sensor 51 is on the left side relative to the central axis (or the cleaning component 52), and the cleaning component 52 is on the right side relative to the central axis (or the ultrasonic sensor 51). When the cleaning component needs to move away from the carpet, the cleaning robot is controlled to rotate to the left; when the cleaning component needs to move closer to the carpet, the cleaning robot is controlled to rotate to the right.
[0123] Optionally, controlling the cleaning robot to perform a spin motion includes: determining the angular velocity of the spin motion based on the difference between the current value of the cleaning component motor and the preset edge current value, wherein the angular velocity is proportional to the difference.
[0124] The greater the difference between the current value of the cleaning component's motor and the preset edge-cleaning current value, the greater the difference between the cleaning component's current position and the ideal edge-cleaning state, and the greater the angle of rotation the cleaning robot needs to rotate. To enable the cleaning component to reach the ideal edge-cleaning state as quickly as possible, the angular velocity of the rotational motion should be increased.
[0125] Correspondingly, the smaller the difference between the current value of the cleaning component's motor and the preset edge-cleaning current value, the smaller the position difference between the cleaning component and the ideal edge-cleaning state, and the smaller the angle of rotation required for the cleaning robot. To ensure that the cleaning component can accurately achieve the ideal edge-cleaning state, the angular velocity of the spin motion needs to be increased.
[0126] Specifically, the angular velocity of the spin motion is determined by the product of the difference and a preset proportional coefficient. The preset proportional coefficient can be calculated according to the PID (proportion integration differentiation) control algorithm or set by the user. This embodiment does not limit the specific proportional coefficient.
[0127] Optionally, during the spin motion, the angular velocity of the spin motion is adjusted in real time so that the closer the cleaning part is to the position of the cleaning part under the ideal edge cleaning state, the slower the spin motion becomes. This allows the cleaning part to accurately reach the position of the cleaning part under the ideal edge cleaning state, avoiding repeated rotation adjustments by the cleaning robot.
[0128] The calibrated ground brush current value is the current value of the cleaning component motor when the cleaning robot walks on a normal ground surface.
[0129] After the cleaning robot exits the carpet area, the cleaning components do not contact the carpet; when the cleaning components extend, they may come into contact with the carpet again. The preset edge current value is between the calibrated floor edge brush current value and the carpet edge brush current value. The corresponding cleaning components are in a state between being completely on the carpet and completely on the floor, that is, part of the cleaning components are on the carpet and part of the cleaning components are outside the carpet. In this case, the cleaning components can clean the junction between the floor and the carpet.
[0130] Optionally, the proportion of the cleaning component on the carpet can be determined using a preset ratio of the edge current value to the carpet edge brush current value.
[0131] Optionally, the preset edge current value is the average of the calibrated floor edge brush current value and the carpet edge brush current value. That is, if the calibrated floor edge brush current value is S and the carpet edge brush current value is V, then the preset edge current value W is (V+S) / 2. At this time, half of the cleaning device is on the carpet and half is on the floor.
[0132] Figure 6 This is a schematic diagram illustrating a cleaning robot cleaning along the edges of a carpet, as provided in an embodiment of this disclosure. Figure 6 As shown, during the movement of the cleaning robot, the current value of the cleaning component motor is kept at the preset edge current value, which ensures that the cleaning robot is always in a state where some cleaning components are on the carpet and some cleaning components are outside the carpet, so as to achieve edge cleaning of the carpet.
[0133] This embodiment of the invention controls the cleaning robot to maintain the current of the cleaning component at a preset edge current value during its movement, ensuring that part of the cleaning component is on the carpet and part is under the carpet. This allows the robot to avoid the carpet while cleaning along the edge, thus improving the cleaning effect.
[0134] Figure 7 This is a schematic diagram of the structure of a carpet detection device for a cleaning robot provided in an embodiment of this disclosure. The carpet detection device for the cleaning robot can be the cleaning robot described in the above embodiment, or the carpet detection device can be a component or assembly within the cleaning robot, which includes a cleaning component and a cleaning component motor. The carpet detection device provided in this embodiment of the disclosure can execute the processing flow provided in the carpet detection method embodiment, such as... Figure 7 As shown, the carpet detection device 70 for the cleaning robot includes: an acquisition module 71, a comparison module 72, and a first determination module 73; wherein, the acquisition module 71 is used to obtain, during the walking process of the cleaning robot, a real-time current value corresponding to a first preset time period and a first current reference value of the cleaning robot based on the current value of the cleaning component motor at each current acquisition time point, the first preset time period including multiple current acquisition time points; the comparison module 72 is used to compare the real-time current value with a first preset current threshold to obtain a first current comparison value corresponding to the first preset time period; the first determination module 73 is used to determine that the cleaning robot is on the carpet when the first current comparison value is greater than the first current reference value.
[0135] Optionally, the cleaning robot includes an ultrasonic sensor, and the cleaning component and the ultrasonic sensor are respectively located on both sides of the central axis of the cleaning robot, the central axis being along the forward direction of the cleaning robot or along a perpendicular line to the forward direction; the first determining module 73 includes a first acquiring unit 731, the first acquiring unit 731 being used to acquire the reflected signal value of the ground through the ultrasonic sensor before determining that the cleaning robot is on the carpet.
[0136] Optionally, the first determining module 73 includes a correction unit 732, which is used to correct the first current reference value according to the first current comparison value and the reflected signal value to obtain a second current reference value; or, to correct the first preset current threshold according to the first preset current threshold and the reflected signal value to obtain a second preset current threshold.
[0137] Optionally, the first determining module 73 is used to control the cleaning robot to perform a spin motion. If at any moment during the spin motion, the reflected signal value is within a preset signal range corresponding to the carpet feature, then it is determined that the cleaning robot is on the carpet.
[0138] Optionally, the acquisition module 71 includes a second acquisition unit 711, a first calculation unit 712, and a second calculation unit 713; the second acquisition unit 711 is used to acquire the current values of the cleaning component motor at a preset number of current acquisition time points to obtain a preset number of current values; the first calculation unit 712 is used to calculate the average value of the preset number of current values if the variance of the preset number of current values is less than a variance threshold to obtain an average current value; the second calculation unit 713 is used to calculate the product of the average current value and a first preset multiplier to obtain the first current reference value.
[0139] Figure 7 The carpet detection device shown in the embodiment can be used to implement the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and will not be described again here.
[0140] Figure 8 This is a schematic diagram of the structure of a carpet avoidance device for a cleaning robot provided in an embodiment of this disclosure. The carpet avoidance device can be the cleaning robot described in the above embodiment, or the carpet detection device of the cleaning robot can be a component or assembly within the cleaning robot. The cleaning robot includes a cleaning component and a motor for that component. The carpet avoidance device provided in this embodiment can execute the processing flow provided in the carpet avoidance method embodiment, such as... Figure 8 As shown, the carpet avoidance device 80 of the cleaning robot includes: a first control module 81 and a second determination module 82; wherein, the first control module 81 is used to control the cleaning robot to retreat until the reflected signal value of the ground obtained by the ultrasonic sensor is not within a preset signal range; the second determination module 82 is used to control the cleaning robot to retreat along a preset arc path if the first current comparison value of the cleaning component motor is greater than or equal to the first current reference value, until the first current comparison value is less than the first current reference value, and then determine that the cleaning robot has exited the carpet area; wherein, the first current comparison value is obtained by comparing multiple real-time current values within a first preset time period with a first preset current threshold.
[0141] Optionally, the cleaning component is a side-sweeping device. The carpet avoidance device 80 of the cleaning robot also includes a calculation module 83 and a second control module 84; the calculation module 83 is used to determine that after the cleaning robot is on the carpet, calculate the real-time current value of the cleaning component within a second preset time period to obtain the carpet side brush current value; the second control module 84 is used to determine that after the cleaning robot leaves the carpet area, control the cleaning component to extend, and control the cleaning robot to perform a spin motion until the current value of the cleaning component motor reaches a preset edge current value, the preset edge current value being less than the carpet side brush current value and greater than the calibrated floor side brush current value; control the cleaning robot to move, and maintain the current value of the cleaning component motor at the preset edge current value during the movement.
[0142] Optionally, the second control module 84 is further configured to control the cleaning robot to retreat along a straight line or along the preset arc path before controlling the cleaning component to extend, until the current value of the cleaning component motor is less than a third current reference value, the third current reference value being less than the first current reference value.
[0143] Optionally, the cleaning component is located on one side of the central axis of the cleaning robot, and the central axis is along the forward direction of the cleaning robot or along a perpendicular line to the forward direction; the second control module 84 is used to control the cleaning robot to spin in the direction of the cleaning component relative to the central axis when the current value of the cleaning component motor is less than the preset edge current value; or, when the current value of the cleaning component motor is greater than the preset edge current value, control the cleaning robot to spin in the opposite direction of the direction of the cleaning component relative to the central axis.
[0144] Optionally, the second control module 84 is used to determine the angular velocity of the spin motion based on the difference between the current value of the cleaning component motor and the preset edge current value, wherein the angular velocity is proportional to the difference.
[0145] Figure 8 The carpet avoidance device of the illustrated embodiment can be used to implement the technical solution of the above method embodiment. Its implementation principle and technical effect are similar, and will not be repeated here.
[0146] Figure 9 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. The electronic device can be a cleaning robot as described in the above embodiments. The electronic device provided in this disclosure can execute the processing flow provided in the carpet detection method embodiment of the cleaning robot, such as... Figure 9 As shown, the electronic device 90 includes: a memory 91, a processor 92, a computer program, and a communication interface 93; wherein the computer program is stored in the memory 91 and is configured to be executed by the processor 92 to perform the carpet detection and / or carpet avoidance methods of the cleaning robot as described above.
[0147] In addition, this disclosure also provides a computer-readable storage medium having a computer program stored thereon, the computer program being executed by a processor to implement the carpet detection and / or carpet avoidance method of the cleaning robot described in the above embodiments.
[0148] Furthermore, this disclosure also provides a computer program product comprising a computer program or instructions that, when executed by a processor, implement the carpet detection and / or carpet avoidance method of the cleaning robot as described above.
[0149] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0150] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A carpet detection method for a cleaning robot, characterized in that, The cleaning robot includes a cleaning component and a motor for the cleaning component, and the method includes: During the movement of the cleaning robot, the real-time current value corresponding to the first preset time period is obtained based on the current value of the cleaning component motor at each current acquisition time point, as well as the first current reference value of the cleaning robot. The first preset time period includes multiple current acquisition time points. Based on the comparison between the real-time current value and the first preset current threshold, a first current comparison value corresponding to the first preset time period is obtained; When the first current comparison value is greater than the first current reference value, it is determined that the cleaning robot is on the carpet.
2. The method according to claim 1, characterized in that, The cleaning robot includes an ultrasonic sensor. The cleaning component and the ultrasonic sensor are located on opposite sides of the central axis of the cleaning robot. The central axis is along the forward direction of the cleaning robot or along a perpendicular line to the forward direction. The method further includes, before determining that the cleaning robot is on the carpet: The reflected signal value of the ground is obtained by using an ultrasonic sensor.
3. The method according to claim 2, characterized in that, After acquiring the reflected signal value from the ground using an ultrasonic sensor, the process includes: Based on the first current comparison value and the reflected signal value, the first current reference value is corrected to obtain the second current reference value; Alternatively, the first preset current threshold can be modified based on the first preset current threshold and the reflected signal value to obtain a second preset current threshold.
4. The method according to claim 2, characterized in that, The determination that the cleaning robot is on the carpet includes: The cleaning robot is controlled to perform a spin motion. If, at any moment during the spin motion, the reflected signal value is within a preset signal range corresponding to the carpet feature, then it is determined that the cleaning robot is on the carpet.
5. The method according to claim 1, characterized in that, Obtaining the first current reference value of the cleaning robot includes: Obtain the current values of the cleaning component motor at a preset number of current acquisition time points to obtain the preset number of current values; If the variance of the preset number of current values is less than the variance threshold, then the average value of the preset number of current values is calculated to obtain the average current value. The first current reference value is obtained by calculating the product of the average current value and the first preset multiplier.
6. A carpet avoidance method for a cleaning robot, characterized in that, The cleaning robot includes a cleaning component and a motor for the cleaning component. After determining that the cleaning robot is on the carpet, the method includes: Control the cleaning robot to move backward until the reflected signal value of the ground obtained by the ultrasonic sensor is no longer within the preset signal range; If the first current comparison value of the cleaning component motor is greater than or equal to the first current reference value, the cleaning robot is controlled to retreat along a preset arc path until the first current comparison value is less than the first current reference value, at which point the cleaning robot is determined to have exited the carpet area. The first current comparison value is obtained by comparing multiple real-time current values within a first preset time period with a first preset current threshold.
7. The method according to claim 6, characterized in that, The cleaning component includes a side brush, and after determining that the cleaning robot is on the carpet, the method further includes: Calculate the real-time current value of the cleaning component within the second preset time period to obtain the current value of the carpet edge brush; After determining that the cleaning robot has exited the carpeted area, the method further includes: The cleaning component is extended and the cleaning robot is made to spin until the current value of the cleaning component motor reaches the preset edge current value, which is less than the current value of the carpet edge brush and greater than the current value of the calibrated floor edge brush. Control the cleaning robot to move, and maintain the current value of the cleaning component motor at the preset edge current value during the movement.
8. The method according to claim 7, characterized in that, Before controlling the extension of the cleaning element, the method further includes: The cleaning robot is controlled to retreat along a straight line or along the preset arc path until the current value of the cleaning component motor is less than the third current reference value, which is less than the first current reference value.
9. The method according to claim 7, characterized in that, The cleaning component is located on one side of the central axis of the cleaning robot, which is along the forward direction of the cleaning robot or along a perpendicular line to the forward direction. The control of the cleaning robot to perform spin motion includes: When the current value of the cleaning component motor is less than the preset edge current value, the cleaning robot is controlled to spin in the direction of the cleaning component relative to the central axis. or, When the current value of the cleaning component motor is greater than the preset edge current value, the cleaning robot is controlled to spin in the opposite direction of the cleaning component relative to the central axis.
10. The method according to claim 7, characterized in that, The control of the cleaning robot to perform spin motion includes: The angular velocity of the spin motion is determined based on the difference between the current value of the cleaning component motor and the preset edge current value, and the angular velocity is proportional to the difference.