Cleaning task execution method and apparatus, and robot and readable storage medium

By controlling the robot to move and rotate multiple times in narrow passages and utilizing various cleaning components, the problem of incomplete cleaning in narrow passages and dead ends by traditional cleaning equipment has been solved, achieving deep cleaning of the entire area.

WO2026001298A1PCT designated stage Publication Date: 2026-01-02SHENZHEN PUDU TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/092307
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-06-28
Filing Date
2025-04-30
Publication Date
2026-01-02

AI Technical Summary

Technical Problem

Traditional smart cleaning equipment cannot effectively clean narrow passages and dead-end areas, resulting in a large amount of residue.

Method used

By controlling the robot to enter the target channel along the cleaning path, it retreats to the entrance after detecting the end point, rotates and re-enters, and moves forward along the path to complete the cleaning task. It uses a variety of cleaning components to cover all areas in multiple moves.

Benefits of technology

It enables full-area cleaning of narrow passages and dead-end areas, reducing residue and improving cleaning efficiency and effectiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025092307_02012026_PF_FP_ABST
    Figure CN2025092307_02012026_PF_FP_ABST
Patent Text Reader

Abstract

A cleaning task execution method and apparatus, and a robot (104) and a readable storage medium. The method comprises: controlling a robot to enter a target channel along a cleaning path, and cleaning the target channel by means of a cleaning assembly (S202); when it is detected that the robot reaches a destination of the target channel, controlling the robot to move backward to an entrance of the target channel along the cleaning path (S204); controlling the robot to rotate, such that after rotating, the robot moves backward to enter the target channel along the cleaning path, until the robot reaches the destination of the target channel (S206); and during the process of controlling the robot to move forward from the destination to the entrance of the target channel along the cleaning path, cleaning the target channel by means of the cleaning assembly (S208).
Need to check novelty before this filing date? Find Prior Art

Description

Cleaning task execution method and device, robot, and readable storage medium

[0001] The present application claims priority to the Chinese patent application No. 2024108668518, filed on June 28, 2024, and entitled "Cleaning task execution method and device, robot, and readable storage medium", the whole content of which is incorporated herein by reference. TECHNICAL FIELD

[0002] The present application relates to the field of artificial intelligence, and in particular to a cleaning task execution method, device, robot, and readable storage medium. BACKGROUND

[0003] With the development of artificial intelligence technology, intelligent cleaning devices have emerged. The intelligent cleaning devices can perform various cleaning tasks, such as sweeping and washing tasks. The intelligent cleaning devices complete the sweeping and washing tasks by controlling cleaning components.

[0004] In the conventional technology, when the intelligent cleaning device enters a narrow passage or a dead end, it is usually unable to complete the cleaning of these areas, resulting in more residues, such as dust and water stains, in these areas. SUMMARY

[0005] According to various embodiments of the present application, a cleaning task execution method, device, computer device, computer readable storage medium, and computer program product are provided.

[0006] The present application provides a cleaning task execution method, which is performed by a robot. The method comprises:

[0007] controlling the robot to enter a target passage along a cleaning path, and cleaning the target passage by a cleaning component, the target passage having a width greater than a first threshold and less than a second threshold and one end of the target passage being closed;

[0008] when it is detected that the robot reaches an end point of the target passage, controlling the robot to retreat to an entrance of the target passage along the cleaning path;

[0009] controlling the robot to rotate so that the robot retreats into the target passage along the cleaning path after rotation until the robot reaches the end point of the target passage;

[0010] controlling the robot to clean the target passage by the cleaning component during the process of advancing from the end point to the entrance of the target passage along the cleaning path, so as to complete the cleaning task of sweeping the target passage.

[0011] The application also provides a cleaning task execution device. The device comprises:

[0012] a first control module configured to control the robot to enter a target passage along a cleaning path, and clean the target passage by the cleaning assembly, wherein the target passage has a width greater than a first threshold and less than a second threshold, and one end of the target passage is closed;

[0013] a second control module configured to control the robot to retreat to an entrance of the target passage along the cleaning path when it is detected that the robot reaches an end point of the target passage;

[0014] a third control module configured to control the robot to rotate so that the robot retreats into the target passage along the cleaning path after rotation until the robot reaches the end point of the target passage;

[0015] a fourth control module configured to control the robot to clean the target passage by the cleaning assembly during the process of advancing from the end point to the entrance of the target passage along the cleaning path, so as to complete the cleaning task of cleaning the target passage.

[0016] The application also provides a robot comprising a memory and a processor, wherein the memory stores computer readable instructions, and the processor executes the computer readable instructions to implement the steps of the cleaning task execution method.

[0017] The application also provides a computer readable storage medium, which stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the steps of the cleaning task execution method.

[0018] The application also provides a computer program product comprising computer readable instructions, and the computer readable instructions are executed by a processor to implement the steps of the cleaning task execution method.

[0019] The details of one or more embodiments of the application are set forth in the accompanying drawings and the description below. Other features and advantages of the application will be apparent from the description, the drawings, and the claims. BRIEF DESCRIPTION OF DRAWINGS

[0020] In order to more clearly illustrate the technical solutions in the embodiments of the application or the prior art, the following will briefly introduce the drawings needed to be used in the embodiments or the prior art description. Obviously, the drawings in the following description are only some embodiments of the application, and for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.

[0021] FIG. 1 is a diagram of an application environment of a cleaning task execution method according to an embodiment;

[0022] FIG. 2 is a flowchart of a cleaning task execution method according to an embodiment;

[0023] FIG. 3 is a diagram of a virtual wall according to an embodiment;

[0024] FIG. 4 is a flowchart of a cleaning task execution method according to another embodiment;

[0025] FIG. 5 is a flowchart of a cleaning task execution method according to yet another embodiment;

[0026] FIG. 6 is a diagram of a robot movement in a cleaning task execution process according to an embodiment;

[0027] FIG. 7 is a flowchart of a step of obtaining a navigation path according to an embodiment;

[0028] FIG. 8 is a diagram of candidate planned paths according to an embodiment;

[0029] FIG. 9 is a flowchart of a step of obtaining candidate planned paths according to an embodiment;

[0030] FIG. 10 is a flowchart of a step of selecting a target planned path according to an embodiment;

[0031] FIG. 11 is a diagram of an association of a candidate planned trajectory with a point of a recently cleaned path according to an embodiment;

[0032] FIG. 12 is a block diagram of a cleaning task execution apparatus according to an embodiment;

[0033] FIG. 13 is a diagram of an internal structure of a robot according to an embodiment. DETAILED DESCRIPTION

[0034] For the purposes of promoting an understanding of the principles of the application, reference will now be made to the embodiments illustrated in the drawings. It is expressly understood that the application is not limited to the embodiments illustrated, and that the concept can be practiced with modification and alteration, and has general applicability. Indeed, the application has broad applicability laced in many different industrial, commercial and consumer applications.

[0035] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the application belongs. The terminology used in the description of the application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used herein, the term "and / or" includes any and all combinations of one or more of the associated listed items.

[0036] The cleaning task execution method provided by the embodiments of the present application can be applied to an application environment as shown in FIG. 1. Among them, the terminal 102 communicates with the robot 104 through the network. The terminal 102 and the robot 104 can be used cooperatively to execute the cleaning task execution method provided in the embodiments of the present application, and the robot 104 can also be used alone to execute the cleaning task execution method provided in the embodiments of the present application. Among them, the robot 104 can be various self-moving devices that can perform cleaning tasks, such as cleaning robots, sweeping robots, washing robots, and dusting robots. 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 television and a smart vehicle device, and the portable wearable device can be a smart watch. It can be understood that the robot 104 can also be used cooperatively with a server to implement the cleaning task execution method provided in the embodiments of the present application. The server can be a standalone physical server, or a service node in a blockchain system. The service nodes in the blockchain system form a peer-to-peer (P2P) network. The P2P protocol is an application layer protocol running on the transmission control protocol (TCP) protocol. In addition, the server can also be a server cluster composed of multiple physical servers, which can be a cloud server providing cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms. The robot 104 and the server can be connected through Bluetooth, USB (Universal Serial Bus), or network communication connection, which is not limited in the present application.

[0037] In an exemplary embodiment, as shown in FIG. 2, a cleaning task execution method is provided, which is used as an example to illustrate a robot for cleaning the ground, including the following steps S202 to S208. Among them:

[0038] Step S202, control the robot to enter the target passage along the cleaning path, and clean the target passage by the cleaning assembly.

[0039] The target passage has a width greater than a first threshold and less than a second threshold and one end of the target passage is closed. The target passage is, for example, a dead end. The target passage can be a straight passage or a corner passage. When the target passage is a straight passage, the first threshold can be the width of the robot itself and the second threshold is a critical value that allows the robot to just turn around in the passage. When the target passage is a corner passage, the first threshold is a critical value that allows the robot to just turn a preset angle at the corner, and after the robot turns the preset angle, the robot can continue to clean the target passage by advancing or retreating in the target passage. The cleaning path is a path that matches the target passage, and the robot moves along the cleaning path to enter the target passage and move in the target passage. The cleaning path can be a path set by the user when the user previously configures the robot. For example, the user pushes a demonstration path in the target passage along which the robot moves. The demonstration path can then be used as the cleaning path as a reference path for the robot to move when performing the cleaning task, so that the robot moves along the cleaning path when performing the cleaning task, thereby achieving ground cleaning of the target passage. The cleaning path in the target passage can be one or more, depending on the width of the target passage. The wider the target passage, the more cleaning paths there can be. Therefore, the process of pushing the demonstration path by the user can obtain the width of the target passage. The cleaning assembly is an assembly that can achieve functions such as sweeping, washing, dusting, sucking, mopping, etc., and can be, for example, a fan, a roller brush, a water suction rake, a dust rake, a dust suction rake, etc. Of course, the demonstration path can also be set on the robot map through the terminal or the control screen on the robot, can also be obtained by controlling the robot to move by the terminal, and can also be obtained by the following mapping function of the robot, which is not limited here.

[0040] Optionally, when the cleaning path in the target passage needs only one, the robot can achieve comprehensive cleaning of the target passage, and the process of pushing the demonstration path by the user can also obtain the width of the target passage. In the process of subsequent cleaning task execution, to avoid collision between the robot and the walls on both sides, virtual walls can be drawn on both sides of the model corresponding to the target passage (the dashed portion in FIG. 3) before the robot is controlled to enter the target passage along the cleaning path, and then the movement of the robot in the target passage is controlled based on the width of the virtual walls. The model corresponding to the target passage is the result of modeling the target passage. The width between the virtual walls on both sides is less than the width of the target passage.

[0041] Exemplarily, the control system of the robot controls the robot to enter the target passage along the cleaning path and move in the target passage along the cleaning path, and clean the target passage by the cleaning assembly. In this way, the preliminary cleaning of the target passage is completed.

[0042] In one embodiment, the robot is controlled to enter the target passage along the cleaning path, to obtain a navigation path, to control the robot to move within the target passage based on the navigation path, and to clean the target passage by the cleaning assembly during the movement of the robot.

[0043] In one embodiment, the robot is controlled to enter the target passage along the cleaning path, to determine a following path based on a sensing range of the robot, to obtain a navigation path based on the following path, and to control the robot to move within the target passage based on the navigation path. The following path sensed by the robot changes as the robot moves, and the navigation path is continuously determined based on the changed following path, so that the robot can reach an end of the target passage based on the navigation path.

[0044] At step S204, when it is detected that the robot reaches the end of the target passage, the robot is controlled to retreat along the cleaning path to the entrance of the target passage.

[0045] For example, when the control system of the robot detects that the robot has advanced to the end of the target passage and cannot continue to advance, the robot is controlled to retreat along the cleaning path to the entrance of the target passage. The robot reaching the end of the target passage can be detected by a sensor provided on the robot, wherein the sensor can be at least one of a lidar, an RGB (Red-Green-Blue) camera, a depth camera, an RGBD (Red-Green-Blue-Depth) camera, or an ultrasonic sensor. The robot reaching the end of the target passage can also be determined by a path set by a user when the robot is previously configured.

[0046] In some embodiments, controlling the robot to retreat along the cleaning path to the entrance of the target passage includes: obtaining a retreat navigation path, and controlling the robot to retreat to the entrance of the target passage based on the retreat navigation path.

[0047] For example, whether the robot reaches the entrance of the target passage can be detected by a sensor provided on the robot, by detecting a distance between the robot and an obstacle near the robot or detecting a width of a current path of the robot. It can be understood that when the robot reaches the entrance of the target passage, the width of the current path detected by the sensor is greater than the width of the target passage, and the robot can turn around, or the minimum distance between the robot and the obstacle detected by the sensor is greater than the width of the target passage and the robot can turn around.

[0048] In some embodiments, when the robot is moving backward, the first type of cleaning component and the second type of cleaning component are determined based on the operational characteristics of the cleaning components. The first type of cleaning component refers to a cleaning component that can operate during the robot moving backward, such as a roller brush. The second type of cleaning component refers to a cleaning component that cannot operate during the robot moving backward, such as a squeegee. For example, a roller brush does not get damaged when the robot moves forward or backward, so the roller brush can work all the time to clean the target passage when the robot moves forward or backward. For another example, the squeegee on the water absorption scraper can be unidirectional, and operating the water absorption scraper when moving backward can damage the squeegee, so the water absorption scraper can be retracted to reduce contact with the ground when the robot moves backward.

[0049] In step S206, the robot is controlled to rotate so that the robot moves backward along the cleaning path into the target passage after rotation until the robot reaches the end point of the target passage.

[0050] Based on the difference in the position distribution of the cleaning components in the robot, when the robot moves to the end point of the target passage, some cleaning components can not be able to clean some ground in the target passage due to the inability to continue moving forward. For example, in the case where the roller brush is arranged at the front of the robot chassis and the water absorption scraper is arranged at the rear of the robot chassis to collect water stains left after the roller brush cleans the ground, when the robot moves to the end point of the target passage, the water absorption scraper can not reach the end point, and there is a region that the water absorption scraper has not cleaned.

[0051] Therefore, to solve the above problems, after the robot completes the preliminary cleaning, the robot is controlled to move backward to the entrance of the target passage, and the robot is controlled to rotate so that the robot moves backward along the cleaning path into the target passage after rotation until the robot reaches the end point of the target passage.

[0052] For example, the angle at which the robot rotates at the entrance enables the robot to face the target passage.

[0053] Optionally, the angle at which the robot rotates at the entrance enables the robot to move backward into the target passage without colliding with the two sides of the target passage.

[0054] Optionally, the robot can detect the backward path in real time through the sensor arranged at the rear of the robot to avoid collision with the target passage or other obstacles during the robot moving backward.

[0055] In step S208, during the robot moving forward from the end point to the entrance of the target passage along the cleaning path, the cleaning components clean the target passage to complete the cleaning task of cleaning the target passage.

[0056] Exemplarily, after the robot backs into the target passage and backs to the end point of the target passage, the robot is controlled to advance along the cleaning path from the end point to the entrance of the target passage, and in the process, the target passage is cleaned by the cleaning assembly.

[0057] In some embodiments, since some cleaning assemblies can be stowed or closed when the robot backs, the cleaning assemblies need to be put down or opened before the robot advances to clean the target passage.

[0058] It can be understood that when the moving direction of the robot is the same as the preset direction, it indicates that the robot is in the advancing process. When the moving direction of the robot is opposite to the preset direction, it indicates that the robot is in the backing process. The preset direction is a direction from the tail of the robot to the head.

[0059] In the above cleaning task execution method, the robot is controlled to enter the target passage along the cleaning path, and the target passage is cleaned by the cleaning assembly along the cleaning path until the robot reaches the end point of the target passage. The width of the target passage is greater than the first threshold value and less than the second threshold value, and one end of the target passage is closed. In this way, one cleaning of the narrow passage can be completed. Then the robot is controlled to back to the entrance of the target passage along the cleaning path, so that the robot can turn around outside the narrow passage, with the tail of the robot facing the entrance of the narrow passage and entering the narrow passage, until the robot backs to the end point of the target passage. The target passage is cleaned again from the end point of the target passage by the cleaning assembly to clean the entire area of the narrow passage. Since the cleaning assemblies are distributed at different positions of the robot, each part of the cleaning assembly can cover every corner of the narrow passage through multiple movements of the robot in the passage by the above method, so that deep cleaning of the narrow passage can be achieved and residues in the narrow passage can be reduced.

[0060] In some embodiments, the cleaning assembly includes at least two of a first assembly, a second assembly and a third assembly, the first assembly is used for ground cleaning, such as scrubbing the ground or sweeping the ground, and can use a scrubbing brush, a sweeping brush, a scrubbing disc, a sweeping disc, a vibrating disc, or the like. The second assembly is used for dirt scraping, such as scraping water stains or dust on the ground, and can use a water absorption rake, a dust rake, a dust pushing rake, or a mop, or the like. The third assembly is used for dirt suction, such as suctioning water stains or dust, and can use a fan, a vacuum pump, or the like to provide negative pressure. The first assembly can be used in combination with the second assembly, for example, the scrubbing brush or the scrubbing disc is used to wash the ground, and the mop is used to wipe the water stains after washing. For another example, the sweeping brush or the sweeping disc is used to sweep the ground, and the dust pushing rake is used to wipe the remaining dirt after sweeping. The second assembly can be used in combination with the third assembly, for example, the fan is used to form a pressure difference, and the second assembly is used to suck dirt or dust under the action of negative pressure. The first assembly and the third assembly can be used in combination, for example, after the first assembly is used to clean the ground, the third assembly is used to suck the remaining dirt on the ground. The first assembly, the second assembly and the third assembly can be used in combination to reduce the remaining dirt on the ground, for example, the scrubbing brush or the scrubbing disc is used to wash the ground, the water absorption rake can be used in combination with the fan, the fan is used to form a pressure difference with the outside environment, and the water absorption rake connected thereto is used to suck the water stains left on the ground after washing under the action of negative pressure. For another example, the sweeping brush or the sweeping disc is used to sweep the ground, and the dust rake is used in combination with the fan to suck the dust after sweeping.

[0061] As shown in FIG. 4, this embodiment includes steps S402 to S408. Among them:

[0062] In step S402, the robot is controlled to enter the target passage along the cleaning path, and the target passage is cleaned by the cleaning assembly.

[0063] For example, the robot is controlled to enter the target passage along the cleaning path and advance in the target passage, and the target passage is cleaned by the scrubbing brush, the water absorption rake and the fan during the advancement of the robot. Among them, the scrubbing brush can be used to brush the remaining dirt attached to the ground, the water absorption rake can be used to collect the remaining dirt after brushing, and the fan can be used to suck the remaining dirt scraped by the water absorption rake into the sewage tank, so as to complete the preliminary cleaning of the target passage.

[0064] In step S404, when it is detected that the robot reaches the end point and the second assembly is included in the cleaning assembly, the second assembly is controlled to be lifted, and the robot is controlled to retreat to the entrance along the cleaning path.

[0065] For example, after the robot advances to the end point in the target passage, the robot cannot continue to advance, and to reduce the collision with the walls on both sides, the robot can be controlled to retreat to the entrance. During the retreat of the robot, the second component is controlled to be lifted.

[0066] In some embodiments, when the second component is a water absorption mop, based on the characteristics of the water absorption mop, the ground pressure of the water absorption mop is proportional to the wiping effect, that is, the greater the ground pressure of the water absorption mop, the better the wiping effect, and the water absorption mop is used in one direction, for example, the water absorption mop can only be used when the robot advances, so before the robot retreats to the entrance, the second component needs to be controlled to be lifted to reduce the pressure of the water absorption mop on the ground, thereby reducing the resistance of the robot during retreat. The dust rake and the water absorption mop have similar structures, and based on similar reasons, the dust rake needs to be lifted before the robot retreats to the entrance to reduce the pressure of the dust rake on the ground, thereby reducing the resistance of the robot during retreat. For the dust rake and the mop, lifting during retreat can reduce the resistance of the robot during retreat while avoiding secondary pollution of the cleaned ground by stains on the dust rake and the mop.

[0067] Step S406: The robot is controlled to rotate so that after rotation, the robot retreats into the target passage until the robot reaches the end point.

[0068] Step S408: The second component is controlled to be lowered, and then the robot is controlled to advance along the cleaning path from the end point to the entrance, so that the target passage is cleaned by the cleaning component.

[0069] For example, after the robot retreats to the end point, the second component is controlled to be lowered, and then the robot is controlled to advance from the end point to the entrance, so that the target passage is cleaned by the cleaning component during the advancement of the robot.

[0070] In some embodiments, when the second component is a water absorption mop and the water absorption mop is used in one direction, for example, the water absorption mop can only be used when the robot advances, so the second component needs to be controlled to be lowered when the robot advances to the entrance to increase the cleaning ability on the ground and reduce the residue on the ground.

[0071] In this embodiment, the target passage is cleaned by at least two of the first component, the second component, and the third component, and when the cleaning component includes the second component, the robot activates the second component when advancing in the target passage and lifts the second component when retreating, which can achieve the purpose of deep cleaning of the target passage based on the second component and reducing the adverse effects of the second component on the movement of the robot.

[0072] For example, when the first component is a scrubbing brush, the second component is a water absorption mop, and the third component is a fan, how the robot performs a cleaning task in a narrow passage can be seen from the following steps:

[0073] 1. The robot enters the target passage from the entrance, opens the drain, the scrub roller, the squeegee, and the air blower work to clean the narrow passage.

[0074] 2. The robot reaches the end of the target passage, the squeegee is lifted, the drain is stopped, the scrub roller and the air blower work normally, and the target passage is cleaned based on the amount of water remaining on the scrub roller. The air blower is turned on to absorb the water remaining in the squeegee, reducing the occurrence of water remaining on the squeegee in the target passage. The robot retreats to the entrance.

[0075] 3. The robot reaches the entrance, rotates 180 degrees around its center position to make the tail of the robot face the entrance of the target passage.

[0076] 4. The scrub roller, squeegee, and air blower remain in the existing state. The robot retreats into the target passage.

[0077] 5. The robot retreats to the end of the target passage. The squeegee is lowered and the drain is opened. From the end of the target passage to the entrance, the cleaning task of the target passage is performed.

[0078] In one possible embodiment, after controlling the robot to enter the target passage along the cleaning path, further comprising: when a target obstacle is detected, obtaining an abnormal position where the robot is currently located, and determining the abnormal position as the end of the target passage. Wherein the target obstacle refers to an obstacle that the robot cannot continue to travel beyond. There may be obstacles in the target passage, so that the robot cannot continue to clean beyond the obstacle, at this time the robot can record the position of the obstacle, and determine the abnormal position where the robot is currently located as the end of the target passage, so that the robot can subsequently retreat directly to the abnormal position without needing to detect whether there is an obstacle on the cleaning path at all times, thereby reducing the operating pressure of the robot.

[0079] In one possible embodiment, as shown in FIG. 5, when the cleaning assembly includes a second assembly, controlling the robot to enter the target passage along the cleaning path includes steps S502 to S506. Wherein:

[0080] Step S502, when a target obstacle is detected, obtaining an abnormal position where the robot is currently located, and performing steps of controlling the second assembly to be lifted, and controlling the robot to retreat to the entrance along the cleaning path.

[0081] Step S504, controlling the robot to rotate so that the robot retreats into the target passage after rotation until the robot reaches the abnormal position.

[0082] Step S506, controlling the second assembly to be lowered, and cleaning the target passage by the cleaning assembly during the process of controlling the robot to advance from the abnormal position to the entrance along the cleaning path.

[0083] The target obstacle refers to an obstacle that the robot cannot pass through to continue moving. Alternatively, when the robot detects an obstacle that causes the time for planning the navigation path to time out, the obstacle is determined as the target obstacle.

[0084] When the robot enters the target passage and moves within the target passage, when encountering the target obstacle, the control system of the robot can obtain the abnormal position where the robot is currently located, and control the second component to be lifted, and then control the robot to retreat to the entrance. The abnormal position obtained by the robot can be marked in the constructed model.

[0085] Although there is a target obstacle in the target passage, the robot can still perform a cleaning task from the entrance to the target obstacle to keep the passage clean. Therefore, after the robot retreats to the entrance, the robot is controlled to rotate so that the robot retreats into the target passage after rotation until the robot reaches the abnormal position. Then the second component is controlled to be lowered, and the target passage is cleaned by the cleaning component during the process of controlling the robot to move from the abnormal position to the entrance along the cleaning path.

[0086] In this embodiment, by recording the abnormal position of the target obstacle, the robot can not always turn on the sensor to detect whether there is an obstacle on the driving section, so that the running pressure of the robot can be reduced.

[0087] In some embodiments, the corresponding sensor can also be turned on when the robot is controlled to retreat to the abnormal position to detect whether the target obstacle still exists. When the target obstacle does not exist, the robot can continue to retreat to the end point. When the target obstacle exists, the robot is controlled to move from the abnormal position to the entrance. In this way, the robot can handle more unexpected situations and improve the intelligence of the robot.

[0088] In some other embodiments, unexpected situations can occur when the robot moves from inside the target passage to the entrance. For example, after the robot moves from the entrance to the end point, the robot encounters a target obstacle during the process of retreating from the end point to the entrance, which causes the robot to be unable to continue to retreat. At this time, the robot can send a prompt information to prompt the user that the cleaning task is interrupted. At the same time, the robot stops working and waits for the user to handle. That is, when the robot is controlled to retreat to the entrance of the target passage along the cleaning path, when it is detected by the target sensor that there is a target obstacle, the robot is controlled to stop working and send a prompt information to a user device, which has established an association relationship with the robot.

[0089] From the foregoing, the robot needs to perform five sub-tasks to complete the cleaning of the target passage, as shown in FIG. 6, which are advancing from the entrance to the end point, retreating from the end point to the entrance, rotating at the entrance, retreating from the entrance to the end point, and advancing from the end point to the entrance. When the robot moves in the target passage, in order to reduce the collision with the obstacles on both sides and enable the robot to clean the entire area of the target passage, the movement path of the robot in the target passage needs to be planned. Therefore, in some embodiments, the control system can obtain a navigation path and control the robot to move in the target passage based on the navigation path. The navigation path may, for example, refer to the movement direction and speed of the robot obtained based on an algorithm. In some embodiments, the movement direction can be obtained based on the angular velocity of movement.

[0090] In one possible implementation, the robot can plan the path every certain period of time, so that the robot can always determine the movement path based on the current situation, adapt to changes, and adjust in a timely manner. As shown in FIG. 7, the step of obtaining a navigation path and controlling the robot to move in the target passage based on the navigation path can include steps S702 to S708. Among them:

[0091] Step S702, determining a following path based on the cleaning path and the perception range of the robot.

[0092] As shown in FIG. 8, the following path is the path (the black solid line with arrows in FIG. 8) that the robot currently needs to plan for navigation. The following path is determined based on the perception range of the robot. For example, if the perception range of the robot is 2 m, the length of the following path is determined to be 2 m.

[0093] For example, determining the following path based on the cleaning path and the perception range of the robot includes: determining a path index point on the cleaning path based on the current position of the robot; determining a set length based on the perception range of the robot; and cutting a path segment of the set length from the position of the path index point on the cleaning path to determine the following path. For example, after determining the perception range of the robot, a path index point on the cleaning path (the dashed line with arrows in gray in FIG. 8) is obtained based on the current position of the robot, which is the closest point on the cleaning path to the current position of the robot (the black dot inside the robot in FIG. 8). The current position of the robot can be based on the center point of the robot. Then, a path segment of a set length is cut from the position of the path index point on the cleaning path as the following path. The set length depends on the perception range of the robot.

[0094] Step S704, for the following path, determining a set of candidate planning paths of the robot at the current sampling position based on a set of preset linear velocities, a set of angular velocities, and a set of sampling times.

[0095] The candidate planning path set is consistent with the moving direction of the robot.

[0096] The candidate planning path set can refer to a plurality of planning paths (solid lines with arrows in gray in FIG. 8) that the robot can travel based on an algorithm. As shown in FIG. 8, the left part is the candidate planning path obtained by the robot in the process of advancing from the entrance to the end point, and the right part is the candidate planning path obtained by the robot in the process of retreating from the end point to the entrance. The direction of the candidate planning path in the candidate planning path set is consistent with the moving direction of the robot. For example, the robot advances from the entrance to the end point, and the direction of the candidate planning path is also from the entrance to the end point. When the robot advances, the moving speed is positive, so the moving speed corresponding to the candidate planning path is positive. When the robot retreats from the end point to the entrance, the direction of the candidate planning path is from the end point to the entrance. When the robot retreats, the moving speed is negative, so the moving speed corresponding to the candidate planning path is negative.

[0097] The linear velocity set, the angular velocity set, and the sampling time set are used to generate the candidate planning path. The data in the linear velocity set, the angular velocity set, and the sampling time set are preset. The linear velocity in the linear velocity set represents the moving speed of the robot according to the candidate planning path. The angular velocity in the angular velocity set represents the angular velocity of the robot according to the candidate planning path. The sampling time set is used to determine the moving position of the robot at each sampling time, and thus the candidate planning path can be determined. That is, a combination of one linear velocity, one angular velocity, and the sampling time set can determine one candidate planning path. A combination of the linear velocity set, the angular velocity set, and the sampling time set can determine the candidate planning path set.

[0098] The sampling position can depend on the program running period in the robot. For example, if the program running period is 10 hz, the program running interval time is 0.1 s. The first sampling position can be the position of the robot corresponding to the robot when the robot is ready to enter the target channel at the entrance and starts to plan the path. Then every program running interval time, the robot re-plans the path, and the position of the robot corresponding to the robot when the robot plans the path is the sampling position. The sampling position can be based on a certain point of the robot, such as the center point of the robot.

[0099] For example, for the following path, the candidate planning path set of the robot at the current sampling position is determined based on the preset linear velocity set, angular velocity set, and sampling time set.

[0100] In step S706, the target planning path segment at the current sampling position is determined from the candidate planning path set based on the screening rule.

[0101] The target planning path segment constitutes a segment of the navigation path. The target planning path segment is a segment between the current sampling position and a next sampling position corresponding to a next sampling time on the target planning path.

[0102] The screening rule is a rule for screening the target planning path from the candidate planning path set. The target planning path can be an optimal planning path. The optimal planning path can be a path optimal in terms of path length. For example, the length of the optimal planning path is the longest. The optimal planning path can also be a path optimal for cleaning the area, for example, the optimal planning path has the highest coincidence rate with the cleaning path.

[0103] For example, the target planning path is determined from the candidate planning path set based on the screening rule. Since the candidate planning path stores the position of the robot at each sampling time, after the target planning path is determined, the target planning path segment between the current sampling position and the next sampling position corresponding to the next sampling time can be determined based on the target planning path.

[0104] At step S708, the robot is controlled to move to the next sampling position based on the target planning path segment, and the above steps are repeated to determine the remaining segments of the navigation path.

[0105] For example, the robot is controlled to move to the next sampling position according to the target planning path segment.

[0106] The target planning path segment is part of the navigation path, so when the robot reaches the next sampling position, the above steps can be repeated to determine the remaining segments of the navigation path. That is, after the robot reaches the next sampling position, a follow-up path is determined based on the cleaning path and the perception range of the robot. Then, for the follow-up path, a candidate planning path set of the robot at the current sampling position is determined based on the preset set of linear velocities, the set of angular velocities, and the set of sampling times. Then, a target planning path segment at the current sampling position is determined from the candidate planning path set based on the screening rule, and the target planning path segment constitutes a segment of the navigation path. Finally, the robot is controlled to move to the next sampling position based on the target planning path segment. In this way, a segment of the navigation path can be determined at each sampling time point until the robot reaches the end point.

[0107] In this embodiment, the candidate planning path set of the robot at the current sampling position is determined based on the preset linear velocity set, angular velocity set and sampling time set, the target planning path is determined from the candidate planning path set based on the screening rule, and then the target planning path segment at the current sampling position is determined. Then, the robot is controlled to move to the next sampling position based on the target planning path segment, and thus the navigation path of the robot is determined. Through the above steps, the robot can timely plan the path according to the following path, so that the robot can move according to the best path, and the screening rule is set to make the navigation path coincide with the cleaning path as much as possible, so that the robot can cover the target area to the greatest extent.

[0108] In one embodiment, as shown in FIG. 9, the linear velocity set includes at least one candidate linear velocity, the angular velocity set includes at least one candidate angular velocity, and the sampling time set includes at least one sampling time. How to determine the candidate planning path set of the robot at the current sampling position based on the preset linear velocity set, angular velocity set and sampling time set can be referred to the following steps:

[0109] In step S902, the pose information of the robot at the current sampling position is obtained.

[0110] The pose information refers to the coordinate information and angle information of the robot at the current sampling position. The angle information can refer to the angle between the center axis of the robot and the cleaning path. The center axis of the robot is the line between the head and the tail of the robot. The coordinate information refers to the horizontal coordinate and the vertical coordinate.

[0111] For example, the coordinate information and the angle information of the robot at the current sampling position are obtained.

[0112] In step S904, each candidate linear velocity in the linear velocity set and each candidate angular velocity in the angular velocity set are arranged and combined to obtain a combination of the candidate linear velocity and the candidate angular velocity.

[0113] In step S906, for each combination, the pose information of the robot corresponding to each sampling time in the sampling time set based on the combination is obtained, and the candidate planning path corresponding to the combination is obtained based on the pose information of the robot corresponding to each sampling time.

[0114] Each candidate planning path corresponds to a linear velocity and an angular velocity. Thus, the candidate planning path set can be determined based on the linear velocities in the linear velocity set and the angular velocities in the angular velocity set. A candidate linear velocity is selected from the linear velocity set, a candidate angular velocity is selected from the angular velocity set, and the candidate linear velocity and the candidate angular velocity can determine a candidate planning path. The linear velocity and the angular velocity are determined, and thus the pose information of each point on the planning path can be determined, and the pose information of the point corresponding to each sampling time can be obtained. The candidate planning path can be determined after the pose information of each point on the planning path is determined.

[0115] In the embodiment, each linear velocity in the linear velocity set and each angular velocity in the angular velocity set can be arranged and combined to obtain at least one combination pair.

[0116] For each combination pair, the coordinate information of the robot at each sampling time point is determined based on the pose information of the robot at the current sampling position and the linear velocity in the combination pair.

[0117] For example, the step of determining the coordinate information of the robot at each sampling time point based on the pose information of the robot at the current sampling position and the linear velocity in the combination pair can include: determining the change time corresponding to each sampling time based on the time difference between the time point of the current sampling position and each sampling time; obtaining the coordinate change value based on the linear velocity in the combination pair, the change time corresponding to each sampling time point, and the angle information; and determining the coordinates corresponding to each sampling time based on the coordinate information and the coordinate change value. That is, the coordinates of the robot at each sampling time point can be obtained from the coordinates of the robot at the current sampling position and the coordinate change value. The coordinate change value is obtained from the linear velocity, the change time corresponding to the sampling time point, and the angle information of the robot at the current sampling position. The change time corresponding to the sampling time point refers to the time difference between the time point of the current sampling position and the sampling time point.

[0118] For each combination pair, the angle information of the robot at each sampling time point is determined based on the angle information of the robot at the current sampling position and the angular velocity in the combination pair.

[0119] In one embodiment, the coordinate information of the robot at a certain sampling time can be obtained from the following formula. t[i].x=p robot .x+v i *t i *cos(p robot .θ) t[i].y=p robot .y+v i *t i *sin(p robot .θ)

[0120] wherein t[i].x represents the horizontal coordinate of the i th sampling position, t[i].y represents the vertical coordinate of the i th sampling position, p robot represents the current sampling position, p robot .x represents the horizontal coordinate of the current sampling position, p robot .y represents the vertical coordinate of the current sampling position, v i represents the linear velocity, t i represents the change time, p robot .θ represents the angle information of the robot at the current sampling position.

[0121] In one embodiment, the angle information of the robot at a certain sampling time can be obtained by the following formula. t[i].θ = p robot .θ + w i *t i

[0122] wherein t[i].θ represents the angle information of the robot at the i th sampling position, w i represents the candidate angular velocity, t i represents the change time, p robot represents the current sampling position, p robot .θ represents the angle information of the robot at the current sampling position.

[0123] In this embodiment, by obtaining the pose information of the robot at the current sampling position, each candidate linear velocity in the linear velocity set and each candidate angular velocity in the angular velocity set are arranged and combined to obtain a combination of the candidate linear velocity and the candidate angular velocity. For each combination, the pose information of the robot corresponding to each sampling time in the sampling time set based on the combination is obtained, and the candidate planning path corresponding to the combination is obtained based on the pose information of the robot corresponding to each sampling time. In this way, multiple candidate planning paths can be generated for selection, increasing the richness of the candidate planning paths, thereby facilitating subsequent selection of the best planning path.

[0124] In one possible implementation, as shown in FIG. 10, the step of determining the target planning path segment at the current sampling position from the candidate planning path set based on the screening rule can include the following steps:

[0125] Step S1002, determining the candidate planning path that does not pass through the target obstacle from the candidate planning path set as the to-be-selected planning path.

[0126] Optionally, the candidate planning path not passing through the target obstacle can refer to a candidate planning path in which a distance between each point in a path segment between the current sampling position and the next sampling position and the target obstacle is greater than a preset value. Optionally, the candidate planning path not passing through the target obstacle can also refer to a candidate planning path in which a distance between each point in the candidate planning path and the target obstacle is greater than the preset value. For example, the target obstacle is a wall on both sides, and each point in the determined candidate planning path is greater than a half of the width of the robot. The preset value can be, for example, a half of the width of the robot.

[0127] Through this step, preliminary screening of the candidate planning path can be achieved, and the situation of collision between the robot and the obstacle during movement can be reduced.

[0128] In step S1004, a following path cost, a speed smoothing cost, and a trajectory length cost are obtained.

[0129] The following path cost is used to represent a coincidence cost of the candidate planning path and the cleaning path, the speed smoothing cost is used to represent a speed change between a current speed of the robot and a candidate linear speed corresponding to the candidate planning path, and the trajectory length cost is used to represent an average distance between adjacent sampling points in the candidate planning path.

[0130] After the set of candidate planning paths is determined from the set of candidate planning paths, a movement cost of each candidate planning path in the set of candidate planning paths is calculated. The greater the movement cost, the greater the probability that the candidate planning path is not selected as the target planning path. That is, the movement cost of the target planning path is the minimum movement cost of each candidate planning path in the set of candidate planning paths.

[0131] For example, the movement cost can include the following path cost, the speed smoothing cost, and the trajectory length cost. The smaller the following path cost, the more the robot moves along the following path, that is, the higher the coincidence rate with the cleaning path, which means that the robot cleans the ground of the target passage as much as possible. The smaller the speed smoothing cost, the smaller the linear speed change of the robot, and the more stable the robot runs. The smaller the trajectory length cost, the greater the distance moved by the robot in the same time, thereby improving the efficiency of the robot in cleaning the target passage.

[0132] In one embodiment, as shown in FIG. 11, the following path cost can be obtained by a distance between each sampling point in the candidate planning path and a nearest cleaning path point on the cleaning path. Optionally, the following path cost cost follow The following path cost can be obtained by a ratio of a sum of the distances to the number of the sampling points. For example, the following path cost can be obtained by the formula

[0133] wherein N t ​denotes the number of sampling points, d i denotes the distance between the i-th sampling point on the candidate planning path and the nearest cleaning path point.

[0134] In one embodiment, the velocity smoothness cost can be derived based on a velocity penalty function. When the parameter x is less than or equal to zero, the value of the velocity penalty function δ(x) is zero. When the parameter x is greater than zero, the value of the velocity penalty function δ(x) is e x . The parameter a is used to represent the difference between the acceleration of the robot corresponding to the candidate planning path and a preset acceleration. When the acceleration of the robot is less than or equal to the preset acceleration, the velocity smoothness cost is zero. For example, the velocity smoothness cost can be derived by the following equation:

[0135] wherein, cost speed denotes the velocity smoothness cost, v i denotes the linear velocity corresponding to the candidate planning trajectory, v robot denotes the linear velocity of the robot at the current sampling position, t scale denotes the interval time of adjacent sampling points, a th denotes the preset acceleration.

[0136] In one embodiment, the trajectory length cost can be derived based on the coordinate information of each sampling point. The absolute value of the trajectory length cost can be derived by the ratio between the sum of distances between adjacent sampling points and the number of sampling points. For example, the trajectory length cost can be represented by the following equation.

[0137] wherein, cost length denotes the trajectory length cost, p i , p i-1 are the coordinate information of the i-th and i-1-th sampling points, respectively, N t denotes the number of sampling points.

[0138] Step 1006, determining the target planning path from the set of candidate planning paths based on the follow path cost, the velocity smoothness cost and the trajectory length cost.

[0139] Exemplarily, the sum of the follow path cost, the velocity smoothness cost and the trajectory length cost is obtained to obtain the movement cost of each candidate planning path, and then the candidate planning path corresponding to the smallest movement cost is selected as the target planning path from the movement costs.

[0140] In one embodiment, weights can also be set for the low price of the following path, the smooth cost of speed, and the length cost of trajectory, respectively. The weights can all be 1 or can be different. The weights can be set according to the importance of the low price of the following path, the smooth cost of speed, and the length cost of trajectory in the target planning path. When the smoothness of speed is emphasized when screening the target planning path, the weight corresponding to the smooth cost of speed can be set to be greater than the other two costs.

[0141] At step 1008, a target planning path segment of the robot at the current sampling position is determined based on the target planning path.

[0142] After the target planning path is determined, a path segment between the current sampling position and the next sampling position is taken as the target planning path segment, and the robot is controlled to move according to the target planning path segment.

[0143] Optionally, the length of the target planning path segment can also span several sampling positions. For example, a path segment between the current sampling position and a sampling position two sampling positions away is taken as the target planning path segment.

[0144] In this embodiment, by selecting the target planning path from the candidate planning paths based on the following path cost, the smooth cost of speed, and the length cost of trajectory, it can be ensured that, from the perspectives of speed smoothness or cleaning coverage, the path according to which the robot moves is the optimal path, thereby improving the stability of the robot work, reducing the situation that the robot moves fast and slow continuously, and simultaneously ensuring that the robot can clean the cleaning area and the efficiency of cleaning the target channel through the length cost of trajectory.

[0145] In one exemplary embodiment, the robot includes a control system for controlling a cleaning assembly to perform a cleaning action. The cleaning assembly can include a brush push rod, a scrubbing brush, a squeegee push rod, a squeegee, and a fan. When the scrubbing brush is not working, the brush push rod lifts the scrubbing brush to be out of contact with the ground. When the scrubbing brush is working, the scrubbing brush needs to be in contact with the ground, and the brush push rod motor needs to push the brush down. The scrubbing brush is driven to rotate by a brush motor, and the scrubbing brush cleans the ground with the bristles on the scrubbing brush. When the squeegee is not working, it is lifted, and the squeegee push rod lifts the squeegee to be out of contact with the ground. When the squeegee is working, the squeegee needs to be in contact with the ground, and the squeegee push rod motor needs to push the squeegee down. When the squeegee moves, it has a water scraping effect, and the greater the pressure on the ground, the better the water scraping effect. The squeegee has holes connected to the fan, which can suck water into a sewage tank. The fan generates a large suction force to suck water into the sewage tank through a pipe. The robot also includes a navigation system for path planning of the robot in the target channel.

[0146] In the prior art, when the intelligent cleaning device enters a narrow passage or a dead-end area, the robot cannot complete a rotation and turn around in the passage because the width of the passage is very narrow and the robot has a certain width. Therefore, the robot cannot clean some areas in the passage, resulting in more residues, such as dust and water stains, in these areas.

[0147] To solve the above problems, in some embodiments, the control system controls the robot to enter the target passage along the cleaning path, and clean the target passage through the first component, the second component, and the third component; when it is detected that the robot reaches the end point, the control system controls the second component to be lifted, controls the robot to retreat to the entrance along the cleaning path, controls the robot to rotate so that after rotation, the robot retreats into the target passage until the robot reaches the end point, for example, controls the robot to rotate 180 degrees in place. The control system controls the second component to be lowered, and controls the robot to advance from the end point to the entrance along the cleaning path, and in the process, the first component, the second component, and the third component clean the target passage. The first component is a floor washing brush, the second component is a water absorbing spatula, and the third component is a fan.

[0148] When a target obstacle is detected when the robot enters the target passage along the cleaning path, causing the time for the navigation system to obtain a target planning path to be timed out, the control system obtains an abnormal position where the robot is currently located, and performs the steps of controlling the second component to be lifted and controlling the robot to retreat to the entrance along the cleaning path. The control system controls the robot to rotate so that after rotation, the robot retreats into the target passage until the robot reaches the abnormal position. The control system controls the second component to be lowered, and controls the robot to advance from the abnormal position to the entrance along the cleaning path, and in the process, the first component, the second component, and the third component clean the target passage.

[0149] When a target obstacle is detected when the robot exits the target passage, and causes the time for the navigation system to obtain a target planning path to be timed out, the control system can send a prompt message to prompt the user that the cleaning task is interrupted. At the same time, the robot stops working and waits for the user to handle.

[0150] The navigation system obtains the target planning path as follows: after determining the perception range of the robot, a path index point on the cleaning path is obtained based on the current position of the robot, which is the point on the cleaning path closest to the current position of the robot. Then a path segment of a set length is intercepted from the cleaning path starting from the position of the path index point as the following path. For example, the length of the following path is set to 2m. For the following path, the control system obtains the coordinate information and angle information of the robot corresponding to the current sampling position. For example, the x coordinate, the y coordinate, and the angle theta between the center axis of the robot and the cleaning path. Then each candidate linear velocity in the linear velocity set and each candidate angular velocity in the angular velocity set are arranged in combination to obtain a combination of candidate linear velocities and candidate angular velocities. For each combination, the coordinate information of the robot at each sampling time point is determined based on the pose information of the robot at the current sampling position and the linear velocity in the combination. The sum of the coordinates of the robot at the current sampling position and the coordinate change value is calculated to obtain the coordinates of the robot at each sampling time point. The coordinate change value is obtained by the product of the linear velocity, the change time corresponding to the sampling time point, and the angle information of the robot at the current sampling position. The change time corresponding to the sampling time point refers to the time difference between the time point of the current sampling position and the sampling time point. For each combination, the angle information of the robot at each sampling time point is determined by the sum of the angle information of the robot at the current sampling position, the angular velocity in the combination, and the change time. In this way, the specific position and the angle with the center axis at each sampling time point can be obtained, and the corresponding candidate planning path can be determined.

[0151] After obtaining the candidate planning path set, a target planning path can be selected from the set based on a screening rule. The screening rule can be that the selected trajectory does not pass through the obstacle; the selected trajectory is as coincident as possible with the intercepted cleaning path segment (follow-up path); the acceleration change value of the selected trajectory is as small as possible compared with a set threshold; and the length of the selected trajectory is as large as possible. Therefore, the step of determining the target planning path includes the following: determining a candidate planning path that does not pass through the target obstacle from the candidate planning path set as a candidate planning path to be selected; calculating a follow-up path cost, a speed smoothing cost, and a trajectory length cost. Then, the target planning path is selected from the candidate planning path to be selected by comprehensively considering the follow-up path cost, the speed smoothing cost, and the trajectory length cost. The follow-up path cost can be obtained by dividing the sum of distances between each sampling point in the candidate planning path to be selected and the nearest cleaning path point on the cleaning path by the number of sampling points. When the acceleration of the robot is less than or equal to a preset acceleration, the speed smoothing cost is zero. When the acceleration of the robot is greater than the preset acceleration, the speed smoothing cost is e raised to the power of x, where x is the difference between the acceleration and the preset acceleration. The absolute value of the trajectory length cost can be obtained by dividing the sum of distances between adjacent sampling points by the number of sampling points. In this way, the follow-up path cost, the speed smoothing cost, and the trajectory length cost can be calculated. Then, the follow-up path cost, the speed smoothing cost, and the trajectory length cost are multiplied by their corresponding weights, respectively, and then added to obtain a cost corresponding to each candidate planning path. The candidate planning path corresponding to the smallest cost is selected as the target planning path. Then, a moving segment (target planning path segment) of the robot is determined based on the target planning path, and the robot is controlled to move forward or backward according to the moving segment. The speed and the angular velocity of the robot are adjusted to the linear speed and the angular velocity corresponding to the target planning path, respectively, so that the robot moves according to the moving segment at the linear speed and the angular velocity.

[0152] Through the above steps, the cleaning problem in the narrow channel scene can be effectively solved, the cleaning scene is enriched, the cleaning function is improved, and the function support is improved.

[0153] It should be understood that, although each step in the flowchart involved in each of the above embodiments is displayed in sequence according to the arrow, these steps are not necessarily executed in the order indicated by the arrow. Unless otherwise specified herein, the execution of these steps is not strictly limited in sequence, and these steps can be executed in other orders. Moreover, at least part of the steps in the flowchart involved in each of the above embodiments can include multiple steps or stages, which are not necessarily executed 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 executed in rotation or alternation with at least part of other steps or stages in other steps or stages.

[0154] Based on the same inventive concept, the embodiments of the present application also provide a cleaning task execution device for implementing the cleaning task execution method described above. The implementation scheme of the device for solving the problem is similar to the implementation scheme described in the above method, so the specific limitations in one or more cleaning task execution device embodiments provided below can refer to the limitations of the cleaning task execution method described above, which will not be repeated here.

[0155] In some embodiments, as shown in FIG. 12, a cleaning task execution device is provided, comprising: a first control module 1202, a second control module 1204, a third control module 1206 and a fourth control module 1208, wherein:

[0156] The first control module 1202 is configured to control the robot to enter the target passage along the cleaning path, and clean the target passage by the cleaning assembly, wherein the target passage has a width greater than a first threshold and less than a second threshold, and one end of the target passage is closed.

[0157] The second control module 1204 is configured to control the robot to retreat to the entrance of the target passage along the cleaning path when it is detected that the robot reaches the end of the target passage.

[0158] The third control module 1206 is configured to control the robot to rotate so that after rotation, the robot retreats into the target passage along the cleaning path until the robot reaches the end of the target passage.

[0159] The fourth control module 1208 is configured to control the robot to clean the target passage by the cleaning assembly during the process of advancing from the end to the entrance of the target passage along the cleaning path, so as to complete the cleaning task of the target passage.

[0160] In some embodiments, the first control module 1202 is further configured to control the robot to enter the target passage along the cleaning path and clean the target passage by the cleaning assembly. The second control module 1204 is further configured to control the second component to be lifted when it is detected that the robot reaches the end and the cleaning assembly includes the second component, and control the robot to retreat to the entrance along the cleaning path. The third control module 1206 is configured to control the robot to rotate so that after rotation, the robot retreats into the target passage until the robot reaches the end. The fourth control module 1208 is configured to control the second component to be lowered, and then control the robot to advance from the end to the entrance along the cleaning path, and clean the target passage by the cleaning assembly.

[0161] In some embodiments, the first control module is further configured to, when a target obstacle is detected, acquire an abnormal position where the robot is currently located, and determine the abnormal position as the end of the target passage; wherein the target obstacle refers to an obstacle that the robot cannot continue to travel beyond.

[0162] In some embodiments, the cleaning assembly comprises a second assembly, after the robot is controlled to enter the target passage along the cleaning path, the first control module 1202 is further configured to: when detecting the target obstacle, acquire an abnormal position, and control the second assembly to be lifted, control the robot to retreat along the cleaning path to the entrance; control the robot to rotate so that the robot retreats into the target passage after rotation until the robot reaches the abnormal position; and control the second assembly to be lowered, and clean the target passage by the cleaning assembly during the process of controlling the robot to advance from the abnormal position to the entrance along the cleaning path.

[0163] In some embodiments, the third control module 1206 is further configured to: when the robot retreats into the target passage to the abnormal position, turn on the target sensor; when detecting that there is no target obstacle by the target sensor, control the robot to continue to retreat into the target passage until the robot reaches the end of the target passage; and when detecting that there is a target obstacle by the target sensor, control the robot to advance from the abnormal position to the entrance.

[0164] In some embodiments, the third control module 1206 is further configured to: when controlling the robot to retreat to the entrance of the target passage along the cleaning path, when detecting that there is a target obstacle by the target sensor, control the robot to stop working, and send a prompt information, the prompt information is used to prompt the interruption of the cleaning task.

[0165] In some embodiments, the second control module 1204 is further configured to: acquire a retreat navigation path; and control the robot to retreat to the entrance based on the retreat navigation path.

[0166] In some embodiments, the device further comprises a navigation module connected with the first control module, the second control module, the third control module and the fourth control module. The navigation module is configured to acquire a navigation path, and control the robot to move in the target passage based on the navigation path.

[0167] In some embodiments, the navigation module comprises an acquisition module and a screening module. The acquisition module is configured to determine a following path based on the cleaning path and the perception range of the robot, and determine a candidate planning path set of the robot at a current sampling position based on a preset linear velocity set, angular velocity set and sampling time set for the following path. The screening module is configured to determine a target planning path segment at the current sampling position from the candidate planning path set based on a screening rule, and the target planning path segment constitutes a segment of the navigation path. One of the control modules is configured to control the robot to move to a next sampling position based on the target planning path segment.

[0168] In some embodiments, the obtaining module is further configured to: obtain pose information of the robot at the current sampling position; perform permutation and combination on each candidate linear velocity in the set of linear velocities and each candidate angular velocity in the set of angular velocities to obtain a combination of the candidate linear velocity and the candidate angular velocity; and for each combination, obtain pose information of the robot at each sampling time in the set of sampling times based on the combination, and obtain a candidate planning path corresponding to the combination based on the pose information of the robot at each sampling time.

[0169] In some embodiments, the obtaining module is further configured to: for each combination, determine coordinate information of the robot at each sampling time based on the pose information of the robot at the current sampling position and the linear velocity in the combination.

[0170] In some embodiments, the pose information comprises angle information and coordinate information of the robot corresponding to the current sampling position, and the obtaining module is further configured to: determine a change time corresponding to each sampling time based on a time difference between a time point of the current sampling position and each sampling time; obtain a coordinate change value based on the linear velocity in the combination, the change time corresponding to each sampling time, and the angle information; and determine coordinate information of the robot corresponding to each sampling time based on the coordinate information and the coordinate change value.

[0171] In some embodiments, the obtaining module is further configured to: for each combination, determine angle information of the robot at each sampling time based on the angle information of the robot at the current sampling position and the angular velocity in the combination.

[0172] In some embodiments, the screening module is further configured to: determine, from the set of candidate planning paths, a candidate planning path that does not pass through the target obstacle as a to-be-selected planning path; obtain a following path cost, a velocity smoothing cost, and a trajectory length cost, the following path cost being used to represent an overlap cost between the candidate planning path and the cleaning path, the velocity smoothing cost being used to represent a velocity change between a current velocity of the robot and a candidate linear velocity corresponding to the candidate planning path, and the trajectory length cost being used to represent an average distance between adjacent sampling points in the candidate planning path; determine, based on the following path cost, the velocity smoothing cost, and the trajectory length cost, a target planning path from the set of to-be-selected planning paths; and determine a target planning path segment of the robot at the current sampling position based on the target planning path.

[0173] In some embodiments, the screening module is further configured to: obtain a movement cost of each to-be-selected planning path based on a sum of the following path cost, the velocity smoothing cost, and the trajectory length cost; and select, from the movement costs of each candidate planning path, a to-be-selected planning path corresponding to a minimum movement cost as the target planning path.

[0174] The various modules in the above cleaning task execution apparatus can be implemented in whole or in part by software, hardware, and combinations thereof. The various modules can be embedded in or independent of a processor in a computer device in hardware form, or stored in a memory in a computer device in software form, so as to be invoked by a processor to perform operations corresponding to the various modules.

[0175] In one embodiment, a robot is provided, which can be a terminal, and an internal structure diagram of the robot can be as shown in FIG. 13. The robot includes a processor, a memory, an input / output interface, a communication interface, a display unit, and an input device. Among them, the processor, the memory, and the input / output interface are connected through a system bus, and the communication interface, the display unit, and the input device are connected to the system bus through the input / output interface. Among them, the processor of the robot is used to provide computing and control capabilities. The memory of the robot includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and computer readable instructions. The internal memory provides an environment for the operating system and computer readable instructions in the non-volatile storage medium to run. The input / output interface of the robot is used to exchange information between the processor and external devices. The communication interface of the robot is used to communicate with external terminals in a wired or wireless manner, and the wireless manner can be achieved through WIFI, mobile cellular network, NFC (Near Field Communication), or other technologies. The computer readable instructions are executed by the processor to implement a cleaning task execution method. The display unit of the robot is used to form a visually visible picture, which can be a display screen, a projection device, or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen, and the input device of the robot can be a touch layer overlaid on the display screen, or a key, trackball, or touchpad arranged on the robot shell, or an external keyboard, touchpad, or mouse, etc.

[0176] Those skilled in the art can understand that the structure shown in FIG. 13 is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the robot to which the scheme of the present application is applied. A specific robot can include more or fewer components than those shown in the figure, or combine certain components, or have a different component arrangement.

[0177] In one embodiment, a robot is provided, including a memory and a processor, the memory storing computer readable instructions, and the processor executing the computer readable instructions to implement the steps in the above method embodiments.

[0178] In one embodiment, a computer readable storage medium is provided, which stores computer readable instructions, and the computer readable instructions are executed by a processor to implement the steps in the above method embodiments.

[0179] In one embodiment, a computer program product is provided, including computer readable instructions, which when executed by a processor, implement the steps of the above-mentioned method embodiments.

[0180] It should be noted that the user information (including but not limited to user equipment information, user personal information, etc.) and data (including but not limited to data for analysis, stored data, displayed data, etc.) involved in the present application are all information and data authorized by the user or authorized by all parties.

[0181] It can be understood by those skilled in the art that all or part of the processes in the above-mentioned embodiments can be completed by computer readable instructions instructing related hardware, and the computer readable instructions can be stored in a non-volatile computer readable storage medium. When the computer readable instructions are executed, they can include the processes of the above-mentioned embodiments. Any reference to memory, database or other medium used in the embodiments provided by the present application can include at least one of non-volatile 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 memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided by the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided by the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, etc., without being limited thereto.

[0182] Any combination of the technical features in the above-described embodiments can be made, and for the sake of brevity, not all possible combinations are described, however, it is to be understood that the application embraces all such possible combinations.

[0183] The above-described embodiments only express several implementation manners of the present application, and the description is relatively specific and detailed, but it should not be understood as a limitation on the patent scope of the application. It should be pointed out that for ordinary skilled persons in the art, some modifications and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the patent protection scope of the present application should be subject to the appended claims.

Claims

1. A method for performing a cleaning task, applied to a robot, the method comprising: The robot is controlled to enter the target channel along the cleaning path and clean the target channel through the cleaning component. The width of the target channel is greater than a first threshold and less than a second threshold, and one end of the target channel is closed. When the robot is detected to have reached the end of the target channel, the robot is controlled to retreat along the cleaning path to the entrance of the target channel; The robot is controlled to rotate so that after rotation, the robot retreats along the cleaning path into the target channel until the robot reaches the end point of the target channel; and During the process of controlling the robot to move along the cleaning path from the endpoint to the entrance of the target channel, the target channel is cleaned by the cleaning components to complete the cleaning task of cleaning the target channel.

2. The method according to claim 1, characterized in that, The cleaning assembly includes at least two of a first assembly, a second assembly, and a third assembly, wherein the first assembly is used for floor cleaning, the second assembly is used for scraping dirt, and the third assembly is used for vacuuming dirt; the method includes: The robot is controlled to enter the target channel along the cleaning path, and the target channel is cleaned by the cleaning components. When the robot is detected to have reached the destination and the cleaning assembly includes the second component, the second component is lifted, and the robot is controlled to retreat along the cleaning path to the entrance. Control the robot to rotate so that after rotation the robot moves backward into the target channel until the robot reaches the destination; and The second component is lowered, and the robot is then guided to move along the cleaning path from the endpoint to the entrance, where the cleaning component cleans the target channel.

3. The method according to claim 1, characterized in that, After controlling the robot to enter the target channel along the cleaning path, the method further includes: When a target obstacle is detected, the robot obtains its current abnormal position and determines the abnormal position as the end point of the target channel; wherein, the target obstacle refers to an obstacle that the robot cannot overcome to continue its journey.

4. The method according to claim 3, characterized in that, The cleaning assembly includes a second component, and after controlling the robot to enter the target channel along the cleaning path, the method further includes: When the target obstacle is detected, the abnormal position is obtained, and the second component is controlled to lift up, and the robot is controlled to retreat along the cleaning path to the entrance; Control the robot to rotate so that after rotation, the robot retreats into the target channel until the robot reaches the abnormal position; and The second component is lowered, and the target channel is cleaned by the cleaning component while the robot moves along the cleaning path from the abnormal position to the entrance.

5. The method according to claim 3, characterized in that, The method further includes: When the robot retreats into the target channel to the abnormal position, the target sensor is activated; When the target sensor detects the absence of the target obstacle, the robot is controlled to continue reversing into the target channel until it reaches the end point of the target channel; and When the target sensor detects the presence of the target obstacle, it controls the robot to move from the abnormal location to the entrance.

6. The method according to claim 3, characterized in that, The method further includes: When the robot is controlled to retreat along the cleaning path to the entrance of the target channel, if the target sensor detects the presence of the target obstacle, the robot is controlled to stop working and send a prompt message to indicate that the cleaning task has been interrupted.

7. The method according to claim 1, characterized in that, The controlled robot retracts along the cleaning path to the entrance of the target channel, including: Get the back navigation path; and The robot is controlled to retreat to the entrance based on the retreat navigation path.

8. The method according to claim 1, characterized in that, The method further includes: Get the navigation path; and The robot is controlled to move within the target channel based on the navigation path.

9. The method according to claim 8, characterized in that, The process of obtaining a navigation path and controlling the robot to move within the target channel based on the navigation path includes: The following path is determined based on the cleaning path and the robot's perception range; For the following path, a set of candidate planned paths for the robot at the current sampling position is determined based on a preset set of linear velocity, angular velocity, and sampling time. Based on the filtering rules, a target planned path segment is determined from the set of candidate planned paths at the current sampling location, and the target planned path segment constitutes a segment of the navigation path; and Based on the target planned path segment, control the robot to move to the next sampling position, and repeat the above steps to determine the remaining road segment of the navigation path.

10. The method according to claim 9, characterized in that, Determining the following path based on the cleaning path and the robot's perception range includes: The path index point is determined based on the point on the cleaning path that is closest to the robot's current position; The set length is determined based on the robot's sensing range; and On the cleaning path, a path segment of a predetermined length is intercepted starting from the location of the path index point to determine the following path.

11. The method according to claim 9, characterized in that, The linear velocity set includes at least one candidate linear velocity, the angular velocity set includes at least one candidate angular velocity, and the sampling time set includes at least one sampling time. Determining the candidate planning path set for the robot at the current sampling position based on the preset linear velocity set, angular velocity set, and sampling time set includes: Obtain the pose information of the robot at the current sampling position; Each candidate linear velocity in the linear velocity set and each candidate angular velocity in the angular velocity set are arranged and combined to obtain a combination pair of the candidate linear velocity and the candidate angular velocity; and For each combination pair, the robot's pose information corresponding to each sampling time in the sampling time set is obtained based on the combination pair, and a candidate planning path corresponding to the combination pair is obtained based on the robot's pose information corresponding to each sampling time.

12. The method according to claim 11, characterized in that, The method further includes: For each of the combined pairs, the coordinate information of the robot at each of the sampling times is determined based on the robot's pose information at the current sampling position and the linear velocity in the combined pair.

13. The method according to claim 12, characterized in that, The pose information includes the angle information and coordinate information of the robot at the current sampling position, and the method further includes: The change time corresponding to each sampling time is determined based on the time point of the current sampling position and the time difference between each sampling time. Based on the linear velocity in the combined pair, the change time corresponding to each sampling time point, and the angle information, the coordinate change value is obtained; and The coordinates corresponding to each sampling time are determined based on the coordinate information and the coordinate change value.

14. The method according to claim 11, characterized in that, The method further includes: For each of the said combination pairs, the angle information of the robot at each of the said sampling times is determined based on the angle information of the robot at the current sampling position and the angular velocity in the combination pair.

15. The method according to claim 9, characterized in that, The step of determining the target planned path segment at the current sampling location from the candidate planned path set based on the filtering rules includes: From the set of candidate planning paths, select the candidate planning paths that do not pass through the target obstacle as the candidate planning paths; The following path cost, speed smoothing cost, and trajectory length cost are obtained. The following path cost is used to characterize the overlap cost between the candidate planned path and the cleaning path. The speed smoothing cost is used to characterize the speed change between the robot's current speed and the candidate linear velocity corresponding to the candidate planned path. The trajectory length cost is used to characterize the average distance between adjacent sampling points in the candidate planned path. The target planning path is determined from the set of candidate planning paths based on the following path cost, the speed smoothing cost, and the trajectory length cost; and The target planning path segment of the robot at the current sampling position is determined based on the target planning path.

16. The method according to claim 15, characterized in that, The method further includes: Based on the sum of the following path cost, the speed smoothing cost, and the trajectory length cost, the movement cost of each of the candidate planning paths is obtained; and From the movement costs of each candidate planning path, the candidate planning path with the lowest movement cost is selected as the target planning path.

17. A cleaning task execution device, characterized in that, The device includes: The first control module is used to control the robot to enter the target channel along the cleaning path, and clean the target channel through the cleaning component. The width of the target channel is greater than a first threshold and less than a second threshold, and one end of the target channel is closed. The second control module is used to control the robot to retreat along the cleaning path to the entrance of the target channel when it is detected that the robot has reached the end of the target channel; The third control module is used to control the robot to rotate, so that after rotation, the robot retreats along the cleaning path into the target channel until the robot reaches the end point of the target channel; and The fourth control module is used to control the robot to clean the target channel by means of the cleaning components as it moves along the cleaning path from the end point to the entrance of the target channel, thereby completing the cleaning task of the target channel.

18. A robot comprising a memory and a processor, the memory storing computer-readable instructions, characterized in that, When the processor executes the computer-readable instructions, it implements the steps of the method according to any one of claims 1 to 16.

19. A computer-readable storage medium storing computer-readable instructions thereon, characterized in that, When the computer-readable instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 16.

20. A computer program product comprising computer-readable instructions, characterized in that, When the computer-readable instructions are executed by a processor, they implement the steps of the method according to any one of claims 1 to 16.

Citation Information

Patent Citations

  • Cleaning robot and cleaning mode thereof

    CN111297248A

  • Cleaning robot and cleaning mode thereof

    CN111466827A

  • Robot control method and device, robot and storage medium

    CN111984014A

  • Cleaning method and device of cleaning robot and storage medium

    CN113576322A

  • Ground medium exploration method, cleaning robot and storage medium

    CN117017114A