Cleaning method of cleaning robot and cleaning robot
The cleaning method and robot adjust cleaning order to address uncleaned areas, improving efficiency and reducing unnecessary movement in complex environments.
Patent Information
- Application Number
- CN202210801884.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-08
- Publication Date
- 2024-12-27
- Estimated Expiration
- 2042-07-08
AI Technical Summary
Existing cleaning methods for robots, such as sweeping and mopping robots, are inefficient in complex environments, leading to reduced cleaning efficiency and user experience due to uncleaned areas and unnecessary movement.
A cleaning method and robot that adjust cleaning order based on the presence of uncleaned blocks in adjacent areas, merging or prioritizing cleaning of these blocks to improve efficiency and reduce ineffective movement.
Enhances cleaning efficiency by promptly addressing uncleaned areas and minimizing redundant movements, ensuring thorough coverage in complex environments.
Smart Images

Figure CN115251766B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of robot technology, and in particular to a cleaning method of a cleaning robot and a cleaning robot. Background Art
[0002] In modern society, cleaning robots such as service robots, sweeping robots, mopping robots, sweeping and mopping robots, and window cleaning robots have been increasingly widely used in people's daily lives, providing convenience for people's lives.
[0003] In the prior art, the path planning of the cleaning robot is mainly carried out through the bow-shaped full coverage path planning algorithm and the area planning algorithm, so that the cleaning robot can complete the corresponding cleaning work. Specifically, the complex, coupled, wide, and unpredictable cleaning area is first cut into a plurality of simple, deconstructed, uniformly sized, and controllable cleaning areas by using the area planning algorithm, and then the bow-shaped full coverage path planning algorithm is used in each cleaning area to plan the path of the cleaning robot to control the cleaning robot to complete the corresponding cleaning work.
[0004] At present, the common bow-shaped full coverage path algorithms are mainly:
[0005] (1) Full coverage path planning algorithm based on breadth search: With the current point as the center, the cleanable area is gradually searched. After the largest area is searched, a new planning point is formed, and the final cleaning plan is formed by repeating the process in sequence.
[0006] (2) Segmentation-based full coverage path planning algorithm: Based on the breadth-based search full coverage path planning algorithm, the complex area is divided into independent small blocks and then the small blocks are planned.
[0007] Common regional planning algorithms include:
[0008] (1) Forced fixed-size partitioning algorithm: Generate a cleaning partitioning scheme based on the pre-designed partition size and the current position of the cleaning robot;
[0009] (2) Based on the closed environment partitioning algorithm: According to the actual situation of the current environment, the current clean area is segmented using a graphics segmentation method to form an independent clean area.
[0010] Among them, when the cleaning robot uses the above method to clean the area, the cleaning process is to first clean multiple partitions, and when it detects that all partitions have been cleaned, finally check whether there are uncleaned blocks (uncleaned blocks are areas that the cleaning robot cannot reach due to obstacles when cleaning the corresponding partitions), and perform separate leak repairs on the uncleaned blocks. However, in this cleaning method, when facing a complex environment, the cleaning effect and cleaning efficiency of the cleaning robot will be greatly reduced, which reduces the user experience. Summary of the invention
[0011] The purpose of the embodiments of the present application is to provide a cleaning method for a cleaning robot and a cleaning robot, which can timely adjust the cleaning order of the cleaning robot and improve the cleaning efficiency of the cleaning robot.
[0012] On the one hand, the present application provides a cleaning method of a cleaning robot, comprising:
[0013] Controlling the cleaning robot to clean multiple cleaning areas in the cleaning environment in sequence according to the cleaning order;
[0014] When cleaning each cleaning area, determine whether there are uncleaned blocks in the cleaning areas that are adjacent to the current cleaning area and have completed the cleaning task, and adjust the cleaning order of the cleaning robot according to the judgment result; wherein, the uncleaned blocks are areas that the cleaning robot has not reached when cleaning the cleaning areas adjacent to the current cleaning area.
[0015] In one embodiment, before controlling the cleaning robot to sequentially clean the multiple cleaning areas in the cleaning environment according to the cleaning order, the method further includes:
[0016] Receive cleaning instructions, and determine the environment to be cleaned according to the cleaning instructions and the stored environment map;
[0017] The environment to be cleaned is divided into a plurality of cleaning areas, and a cleaning sequence of the cleaning robot is generated according to the plurality of cleaning areas.
[0018] In one embodiment, when cleaning each cleaning area, it is determined whether there is an uncleaned block in a cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and the cleaning order of the cleaning robot is adjusted according to the determination result, including:
[0019] If there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, determine whether the current cleaning area is connected to the uncleaned block, and adjust the cleaning order of the cleaning robot according to the determination result;
[0020] If there is no uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the cleaning robot is controlled to clean the current cleaning area.
[0021] In one embodiment, determining whether the current cleaning area is connected to the uncleaned area, and adjusting the cleaning order of the cleaning robot according to the determination result, includes:
[0022] If the current clean area is connected to the uncleaned block, the current clean area is merged with the uncleaned block, and the cleaning robot is controlled to clean the merged clean area;
[0023] If the current cleaning area is not connected to the uncleaned area, the cleaning robot is controlled to clean the current cleaning area.
[0024] In one embodiment, determining whether the current cleaning area is connected to the uncleaned area, and adjusting the cleaning order of the cleaning robot according to the determination result, includes:
[0025] If the current cleaning area is connected to the uncleaned area, the cleaning order of the cleaning robot is adjusted according to the distance between the initial position of the cleaning robot entering the current cleaning area and the uncleaned area;
[0026] If the current cleaning area is not connected to the uncleaned area, the cleaning robot is controlled to clean the current cleaning area.
[0027] In one embodiment, the cleaning sequence of the cleaning robot is adjusted according to the distance between the initial position of the cleaning robot entering the current cleaning area and the uncleaned area, including:
[0028] If the distance between the initial position and the uncleaned area is less than a preset threshold, the cleaning robot is controlled to clean the uncleaned area, and after cleaning, the cleaning robot is controlled to clean the current cleaning area;
[0029] If the distance between the initial position and the uncleaned block is greater than a preset threshold, the cleaning robot is controlled to clean the current cleaning area, and after cleaning is completed, the cleaning robot is controlled to clean the uncleaned block.
[0030] In one embodiment, the method further comprises:
[0031] When the cleaning robot completes the cleaning work of the current cleaning area, it determines whether there is an uncleaned block in the current cleaning area;
[0032] If there is no uncleaned block in the current cleaning area, control the cleaning robot to clean the next cleaning area according to the cleaning sequence;
[0033] If there is an uncleaned block in the current cleaning area, the position information of the uncleaned block is saved, and the cleaning robot is controlled to clean the next cleaning area according to the cleaning sequence.
[0034] In one embodiment, the method further comprises:
[0035] If there is an uncleaned block in the current cleaning area, determine whether the cleaned area is connected to the uncleaned block; wherein the cleaned area is the area formed after the cleaning robot completes edge cleaning and bow-shaped cleaning in the current cleaning area;
[0036] If the cleaned area is connected to the uncleaned area, the cleaning robot is controlled to clean the uncleaned area, and after the cleaning is completed, the cleaning robot is controlled to clean the next cleaning area according to the cleaning sequence;
[0037] If the cleaned area is not connected to the uncleaned block, the position information of the uncleaned block is saved, and the cleaning robot is controlled to clean the next cleaning area according to the cleaning sequence.
[0038] In one embodiment, determining whether there is an uncleaned block in the current cleaning area includes:
[0039] Compare the cleaned area with the current clean area in the stored environment map, and determine whether there is an uncleaned block in the current clean area based on the comparison result;
[0040] The cleaned area is the area formed after the cleaning robot completes edge cleaning and bow-shaped cleaning in the current cleaning area.
[0041] On the other hand, the present application also provides a cleaning robot, comprising:
[0042] processor;
[0043] a memory for storing processor-executable instructions;
[0044] Wherein, the processor is configured to execute the cleaning method of the above-mentioned cleaning robot.
[0045] In the present application, when performing cleaning work, the cleaning robot will be controlled to clean multiple cleaning areas in the cleaning environment in sequence according to the cleaning order; wherein, when cleaning each cleaning area, it will be determined whether there are uncleaned blocks in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and the cleaning order of the cleaning robot will be adjusted according to the judgment result. It can be seen from this that in the present application, when the cleaning robot cleans each cleaning area, it can adjust the cleaning order of the cleaning robot according to whether there are missed cleaning areas in the cleaned areas around the cleaning robot, thereby improving the cleaning efficiency of the cleaning robot and reducing the ineffective movement of the cleaning robot during the cleaning process. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] In order to more clearly illustrate the technical solution of the embodiments of the present application, the drawings required for use in the embodiments of the present application are briefly introduced below.
[0047] Figure 1 A schematic diagram of the structure of a cleaning robot provided in one embodiment of the present application;
[0048] Figure 2 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0049] Figure 3 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0050] Figure 4 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0051] Figure 5 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0052] Figure 6 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0053] Figure 7 A schematic diagram of a cleaning method for a cleaning robot according to an embodiment of the present application;
[0054] Figure 8 A schematic diagram of an environment to be cleaned provided in one embodiment of the present application;
[0055] Figures 9 to 13 are diagrams of the cleaning robot in this application. Figure 8 Schematic diagram of performing cleaning work in the environment to be cleaned.
[0056] Reference numerals:
[0057] 1-cleaning robot; 10-bus; 11-processor; 12-memory. DETAILED DESCRIPTION
[0058] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application.
[0059] Similar reference numerals and letters represent similar items in the following drawings, so once an item is defined in one drawing, it does not need to be further defined and explained in subsequent drawings. At the same time, in the description of this application, the terms "first", "second", etc. are only used to distinguish the description and cannot be understood as indicating or implying relative importance.
[0060] like Figure 1 As shown, this embodiment provides a cleaning robot 1, comprising: at least one processor 11 and a memory 12, Figure 1 A processor 11 is taken as an example. The processor 11 and the memory 12 are connected via a bus 10. The memory 12 stores instructions that can be executed by the processor 11. The instructions are executed by the processor 11 so that the cleaning robot 1 can execute the cleaning method of the cleaning robot 1 described below.
[0061] The memory 12 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable red-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, disk or optical disk.
[0062] Specifically, the cleaning robot 1 in the present application may be a sweeping robot, a mopping robot, a sweeping and mopping robot, a window cleaning robot, etc. For ease of description, the cleaning method of the cleaning robot 1 in the following embodiments of the present application is specifically explained in detail with a mopping robot.
[0063] Please refer to Figure 2 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 2 As shown, the method includes the following steps S210 to S220.
[0064] Step S210: Control the cleaning robot 1 to clean the multiple cleaning areas in the cleaning environment in sequence according to the cleaning sequence.
[0065] The area to be cleaned is the area where the cleaning robot 1 performs cleaning operations. Specifically, for a mopping robot, when the cleaning robot 1 cleans the user's home, the environment to be cleaned is the floor area of the user's home. Exemplarily, the environment to be cleaned may include the kitchen floor, the living room floor, the bedroom floor, and the study floor.
[0066] In this step, since the environment to be cleaned may be irregular in shape, in order to improve the cleaning effect of the cleaning robot 1, the environment to be cleaned is usually divided into multiple cleaning areas when the cleaning robot 1 performs the cleaning work, so that the cleaning robot 1 cleans the multiple areas to be cleaned in sequence according to the corresponding cleaning order. When the multiple areas to be cleaned have been cleaned, it can be considered that the cleaning robot 1 has completed the cleaning work of the environment to be cleaned.
[0067] Step S220: when cleaning each cleaning area, determine whether there is an uncleaned area in a cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0068] The uncleaned area is the area that the cleaning robot 1 has not reached when cleaning the cleaning area adjacent to the current cleaning area. The current cleaning area is the area that the cleaning robot 1 is cleaning. The cleaning area adjacent to the current cleaning area and that has completed the cleaning task is the cleaned area that is adjacent to the current cleaning area and has a common edge.
[0069] Among them, adjusting the cleaning sequence means that the cleaning robot re-sweeps the uncleaned area after cleaning the current cleaning area, or re-sweeps the uncleaned area first and then cleans the current cleaning area, or merges the uncleaned area with the current cleaning area. That is, inserting the re-sweep procedure of the uncleaned area without changing the overall cleaning sequence of the cleaning area.
[0070] In this step, due to the presence of obstacles, the cleaning robot 1 may miss cleaning when cleaning each cleaning area. Therefore, in this application, when cleaning each cleaning area, the cleaning robot 1 will determine whether there is an uncleaned block in the cleaning area that is adjacent to the current cleaning area and has completed the cleaning task. After obtaining the judgment result, the cleaning order of the cleaning robot 1 is adjusted based on the judgment result. For example, if there is an uncleaned block in the cleaning area that is adjacent to the current cleaning area and has completed the cleaning task, the cleaning robot 1 can be controlled to clean the uncleaned block immediately after cleaning the current cleaning area.
[0071] It can be seen from this that in the present application, when the cleaning robot 1 cleans each cleaning area, it can adjust the cleaning order of the cleaning robot 1 according to whether there are missed cleaning areas in the cleaned areas around the cleaning robot 1, thereby improving the cleaning efficiency of the cleaning robot 1 and reducing ineffective movements of the cleaning robot 1 during the cleaning process.
[0072] Please refer to Figure 3 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 3As shown, in the present application, the cleaning robot 1 will also execute the following steps S110 to S120 before executing step S210.
[0073] Step S110: receiving a cleaning instruction, and determining the environment to be cleaned according to the cleaning instruction and a stored environment map.
[0074] Among them, for the mopping robot, the environmental map is a structural diagram of the entire ground area in the user's home.
[0075] In this step, because the floor area in the user's home is composed of floor areas corresponding to many rooms with different functions, in order to improve the user experience in this application, the user can select the floor area that needs to be cleaned by the cleaning robot 1. Specifically, the user can select the floor area that needs to be cleaned by the cleaning robot 1 on the user terminal (the user terminal can be a mobile phone, a tablet, etc.), and after the selection is completed, the user terminal can generate a cleaning instruction based on the above selection and send it to the cleaning robot 1. In one embodiment, the application installed in the user terminal stores an environmental map of the user's home, and the user can select the floor area that needs to be cleaned by the cleaning robot 1 through the environmental map. Exemplarily, the user can select all the floor areas in the home, or the user can select only the floor areas in the bedroom and the living room.
[0076] When the cleaning robot 1 receives the above-mentioned cleaning instruction, it can determine the area where the user needs the cleaning robot 1 to perform the cleaning operation based on the identification information of the ground area contained in the cleaning instruction and the stored environmental map. Specifically, the cleaning instruction can contain identification information of each ground area (the identification information can be coordinate information, or number information, etc.), and after receiving the cleaning instruction, the cleaning robot 1 can match the above-mentioned identification information with the identification information in the environmental map, and determine the environment to be cleaned according to the matching result. Exemplarily, if the cleaning instruction received by the cleaning robot 1 contains number information "1" and number information "3", and on the environmental map, number information "1" is the kitchen floor, and number information "3" is the living room floor, then the cleaning robot 1 can determine that the environment to be cleaned is the kitchen floor and the living room floor.
[0077] Step S120: Divide the environment to be cleaned into a plurality of cleaning areas, and generate a cleaning sequence for the cleaning robot 1 according to the plurality of cleaning areas.
[0078] In this step, after determining the environment to be cleaned, the cleaning robot 1 can divide the environment to be cleaned into multiple cleaning areas, and generate a cleaning order for the cleaning robot 1 according to the cleaning area division results. For example, if the environment to be cleaned is all the floors in the user's home, the cleaning robot 1 can divide the environment to be cleaned into 4 cleaning areas according to the distribution of obstacles, and after the division is completed, generate a cleaning order according to the division of each area, and number each area while generating the cleaning order, so that the cleaning robot 1 can clean multiple cleaning areas in sequence according to the numbering.
[0079] Please refer to Figure 4 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 4 As shown, the method includes the following steps S310 to S350.
[0080] Step S310: Control the cleaning robot 1 to clean the multiple cleaning areas in the cleaning environment in sequence according to the cleaning sequence.
[0081] Specifically, the specific process of the cleaning robot 1 executing this step can be referred to step S210, which will not be repeated here.
[0082] Step S320: when cleaning each cleaning area, determine whether there is an uncleaned area in a cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0083] In this step, when cleaning each cleaning area, the cleaning robot 1 will determine whether there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 based on the determination result. Specifically, if there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S330 is executed; if there is no uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S350 is executed.
[0084] Step S330: determining whether the current cleaning area is connected to the uncleaned area, and adjusting the cleaning sequence of the cleaning robot 1 according to the determination result.
[0085] In this step, when it is determined that there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the connectivity detection of the current cleaning area and the uncleaned block is also performed at the same time, and the cleaning order of the cleaning robot 1 is adjusted based on the detection result. Specifically, if the current cleaning area is connected to the uncleaned block, step S340 is executed; if the current cleaning area is not connected to the uncleaned block, step S350 is executed.
[0086] Step S340: if the current cleaning area is connected to the uncleaned area, the current cleaning area is merged with the uncleaned area, and the cleaning robot 1 is controlled to clean the merged cleaning area.
[0087] In this step, if the current cleaning area is connected to the uncleaned block, the two areas are merged, and the cleaning robot 1 is controlled to clean the merged cleaning area. Specifically, the cleaning method is to first control the cleaning robot 1 to perform edge cleaning to determine the cleaning range; after edge cleaning, a bow-shaped cleaning path is generated in the cleaning area after the edge cleaning, and after the path is generated, the cleaning robot 1 is controlled to clean the merged cleaning area along the cleaning path. When it is monitored that the cleaning robot 1 has completed the movement along the cleaning path, it is determined that the cleaning robot 1 has completed the cleaning work of the merged cleaning area. Step S350: If the current cleaning area is not connected to the uncleaned block, or if there is no uncleaned block in the cleaning area adjacent to the current cleaning area and that has completed the cleaning task, the cleaning robot 1 is controlled to clean the current cleaning area.
[0088] In this step, if the current cleaning area is not connected to the uncleaned block, or if there is no uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the cleaning robot 1 can be controlled to clean the current cleaning area. Specifically, the cleaning method is to first control the cleaning robot 1 to clean the current cleaning area along the edge to determine the cleaning range; after cleaning along the edge, a bow-shaped cleaning path is generated in the cleaning area after the edge, and after the path is generated, the cleaning robot 1 is controlled to clean the current cleaning area along the cleaning path. When it is monitored that the cleaning robot 1 has completed the movement along the cleaning path, it is determined that the cleaning robot 1 has completed the cleaning work of the current cleaning area. At the same time, if the current cleaning area is not connected to the uncleaned block, the connectivity detection can be continued when the cleaning area adjacent to the uncleaned block is subsequently cleaned, so as to timely fill the gaps in the uncleaned block.
[0089] It can be seen that in the present application, when there is an uncleaned block in the cleaning area adjacent to the current cleaning area, a connectivity check will be performed on the current cleaning area and the uncleaned block. When it is detected that the uncleaned block is connected to the current cleaning area, the cleaning order of the cleaning robot 1 can be adjusted in real time, so that the cleaning robot 1 can repair the leaked cleaning area while cleaning the current cleaning area. Compared with the prior art method of cleaning all cleaning areas before cleaning the leaked cleaning area, the cleaning method in the present application improves the cleaning efficiency of the cleaning robot 1, effectively reduces the ineffective movement of the cleaning robot 1 during the cleaning process, and fully guarantees the cleaning effect.
[0090] Please refer to Figure 5 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 5 As shown, the method includes the following steps S410 to S450.
[0091] Step S410: Control the cleaning robot 1 to clean the multiple cleaning areas in the cleaning environment in sequence according to the cleaning sequence.
[0092] Specifically, the specific process of the cleaning robot 1 executing this step can be referred to step S210, which will not be repeated here.
[0093] Step S420: when cleaning each cleaning area, determine whether there is an uncleaned area in a cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0094] In this step, when cleaning each cleaning area, the cleaning robot 1 will determine whether there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 based on the determination result. Specifically, if there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S430 is executed; if there is no uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S450 is executed.
[0095] Step S430: if there is an uncleaned area in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, determine whether the current cleaning area is connected to the uncleaned area, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0096] In this step, when it is determined that there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the connectivity detection of the current cleaning area and the uncleaned block is also performed at the same time, and the cleaning order of the cleaning robot 1 is adjusted based on the detection result. Specifically, if the current cleaning area is connected to the uncleaned block, step S440 is executed; if the current cleaning area is not connected to the uncleaned block, step S450 is executed.
[0097] Step S440: If the current cleaning area is connected to the uncleaned area, the cleaning sequence of the cleaning robot 1 is adjusted according to the distance between the initial position of the cleaning robot 1 entering the current cleaning area and the uncleaned area.
[0098] In this step, if the current cleaning area is connected to the uncleaned block, the cleaning order of the cleaning robot 1 can be adjusted by calculating the distance between the initial position of the cleaning robot 1 entering the current cleaning area and the uncleaned block. Specifically, the shortest distance between the initial position of the cleaning robot 1 entering the current cleaning area and the edge of the uncleaned block can be calculated to adjust the cleaning order of the cleaning robot 1.
[0099] If the calculated distance between the initial position of the cleaning robot 1 entering the current cleaning area and the uncleaned block is less than a preset threshold, the cleaning robot 1 can be controlled to clean the uncleaned block first; when it is detected that the cleaning is completed, the cleaning robot 1 is controlled to clean the current cleaning area.
[0100] If the calculated distance between the initial position of the cleaning robot 1 entering the current cleaning area and the uncleaned area is greater than a preset threshold, the cleaning robot 1 can be controlled to clean the current cleaning area first, and when it is detected that the cleaning is completed, the cleaning robot 1 can be controlled to clean the current cleaning area again.
[0101] Specifically, the cleaning robot 1 cleans the current cleaning area by first controlling the cleaning robot 1 to perform edge cleaning to determine the cleaning range; after edge cleaning, a bow-shaped cleaning path is generated in the cleaning area after edge cleaning, and after the path is generated, the cleaning robot 1 is controlled to clean the current cleaning area along the cleaning path. When it is monitored that the cleaning robot 1 has finished moving along the cleaning path, it is determined that the cleaning robot 1 has completed the cleaning work of the current cleaning area.
[0102] The cleaning robot 1 cleans the uncleaned area by first controlling the cleaning robot 1 to clean along the edge to determine the cleaning range; after cleaning along the edge, a bow-shaped cleaning path is generated in the cleaning area after cleaning along the edge, and after the path is generated, the cleaning robot 1 is controlled to clean the uncleaned area along the cleaning path. When it is monitored that the cleaning robot 1 has finished moving along the cleaning path, it is determined that the cleaning robot 1 has completed the cleaning work of the uncleaned area.
[0103] Step S450: If the current cleaning area is not connected to the uncleaned area, or if there is no uncleaned area in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the cleaning robot 1 is controlled to clean the current cleaning area.
[0104] Specifically, the specific process of the cleaning robot 1 executing this step can be referred to step S350, which will not be repeated here.
[0105] It can be seen that in the present application, when there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the connectivity detection will be performed on the current cleaning area and the uncleaned block. When it is detected that the uncleaned block is connected to the current cleaning area, the cleaning order of the cleaning robot 1 can be adjusted in real time, so that the cleaning robot 1 can repair the leaked cleaning area while cleaning the current cleaning area. Furthermore, in the present application, the cleaning order of the cleaning robot 1 for the current cleaning area and the uncleaned block can be adjusted according to the distance between the initial position of the cleaning robot 1 entering the current cleaning area and the uncleaned block, so as to find the best cleaning order, thereby reducing the repeated cleaning path of the cleaning robot 1 between the two cleaning areas, effectively reducing the ineffective movement of the cleaning robot 1 during the cleaning process, and improving the cleaning efficiency of the cleaning robot 1.
[0106] Please refer to Figure 6 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 6 As shown, in the present application, when the cleaning robot 1 completes the cleaning work of the current cleaning area, it will also execute the following steps S510-S530. Specifically, the way to determine that the cleaning robot 1 has completed the cleaning work of the current cleaning area can be that the cleaning robot 1 has completed the cleaning work of the cleaning area merged with the current cleaning area and the uncleaned block, that is, the cleaning along the edge and the bow-shaped cleaning have been completed in the merged area, or the cleaning robot 1 has completed the cleaning work of the current cleaning area, that is, the cleaning along the edge and the bow-shaped cleaning have been completed in the current cleaning area.
[0107] It is worth noting that the area along the edge where the cleaning robot 1 performs edge cleaning is the maximum area it can reach in the area. Therefore, when the cleaning robot 1 completes edge cleaning and bow-shaped cleaning in the corresponding area, it can be considered that the cleaning robot 1 has completed the cleaning work of the corresponding area.
[0108] Step S510: when the cleaning robot 1 completes the cleaning work of the current cleaning area, it is determined whether there is an uncleaned area in the current cleaning area.
[0109] The uncleaned area is an area that the cleaning robot 1 fails to clean when cleaning the current cleaning area.
[0110] In this step, when the cleaning robot 1 completes the cleaning work of the current cleaning area, it will also determine whether there is an uncleaned block in the current cleaning area. Specifically, if it is determined that there is no uncleaned block in the current cleaning area, step S520 is executed; if it is determined that there is an uncleaned block in the current cleaning area, step S530 is executed. Among them, the reason for the formation of this uncleaned block is that there are obstacles in the current cleaning area (exemplarily, the obstacles can be walls and furniture, etc.), which makes the cleaning robot unable to reach the uncleaned block when cleaning the current cleaning area and clean the uncleaned block.
[0111] In one embodiment, the cleaned area can be compared with the current cleaning area in the environment map stored in the cleaning robot 1, and it can be determined whether there is an uncleaned block in the current cleaning area based on the comparison result. The cleaned area is the area formed after the cleaning robot 1 completes edge cleaning and bow sweep cleaning in the current cleaning area.
[0112] Specifically, in the present application, the cleaning robot 1 stores an environmental map that can represent the ground structure of the user's home. When the cleaning robot 1 completes the cleaning work of the current cleaning area, it can search whether there are any uncleaned blocks in the current cleaning area. Exemplary implementation methods can be to obtain the coordinate information of the cleaned area of the cleaning robot 1 in the current cleaning area, and draw a map of the cleaned area based on the coordinate information. After drawing, the above map is compared with the current cleaning area in the locally stored environmental map, and determine whether there are uncleaned blocks in the current cleaning area based on the comparison result; specifically, when it is detected that the cleaned area completely overlaps with the current cleaning area in the environmental map, it can be determined that there are no uncleaned blocks in the current cleaning area; when it is detected that the cleaned area does not completely overlap with the current cleaning area in the environmental map, and the current cleaning area in the environmental map is larger than the cleaned area, it can be determined that there are uncleaned blocks in the current cleaning area.
[0113] Step S520: If there is no uncleaned area in the current cleaning area, control the cleaning robot 1 to clean the next cleaning area according to the cleaning sequence.
[0114] In this step, if there is no uncleaned block in the current cleaning area, the cleaning robot 1 can be controlled to clean the next cleaning area according to the cleaning sequence. Further, when it is monitored that the cleaning robot 1 completes the cleaning work of all cleaning areas in the environment to be cleaned, it can be determined that the cleaning robot 1 has completed the cleaning task indicated by this cleaning instruction.
[0115] Step S530: If there is an uncleaned block in the current cleaning area, the position information of the uncleaned block is saved, and the cleaning robot 1 is controlled to clean the next cleaning area according to the cleaning sequence.
[0116] In this step, if there is an uncleaned block in the current cleaning area, the location information of the uncleaned block is saved, and the cleaning robot 1 is controlled to clean the next cleaning area according to the cleaning sequence. Further, when it is monitored that the cleaning robot 1 has completed the cleaning work of all cleaning areas in the environment to be cleaned, it can be determined that the cleaning robot 1 has completed the cleaning task indicated by this cleaning instruction.
[0117] Through the above measures, when the cleaning robot 1 has completed the cleaning work of the current cleaning area and monitors that there are still unclean blocks in the current cleaning area, the position information of the unclean blocks is saved, so that when the cleaning robot 1 cleans the cleaning area adjacent to the current cleaning area, the cleaning order of the cleaning robot 1 can be adjusted in time to fill the gaps in the unclean blocks.
[0118] In one embodiment, in the present application, when it is detected that there is an uncleaned block in the current cleaning area, it is also determined whether the cleaned area is connected to the uncleaned block. If the cleaned area is connected to the uncleaned block, when the cleaning robot 1 completes the cleaning work of the current cleaning area, the cleaning robot 1 is controlled to clean the uncleaned block, and after the cleaning is completed, the cleaning robot 1 is controlled to clean the next cleaning area according to the cleaning sequence; if the cleaned area is not connected to the uncleaned block, when the cleaning robot 1 completes the cleaning work of the current cleaning area, the position information of the uncleaned block is saved, and after the saving is completed, the cleaning robot 1 is controlled to clean the next cleaning area according to the cleaning sequence.
[0119] It is worth noting that the reason why the uncleaned block is connected to the cleaned area is that although there is an obstacle between the cleaned area and the uncleaned block, the existence of the obstacle allows the cleaning robot 1 to still reach the uncleaned block. However, the cleaning robot 1 made a planning error when performing the edge cleaning for the first time, and did not perform the edge cleaning on the area, resulting in the generation of uncleaned blocks. This may lead to the following situation: the uncleaned block is not cleaned when cleaning the current cleaning area; when cleaning the cleaning area adjacent to the current cleaning area, it is also impossible to clean the uncleaned block. At this time, the uncleaned block must be repaired after completing the cleaning work of all cleaning areas. This greatly reduces the cleaning efficiency of the cleaning robot 1, and when the distance between the uncleaned block and the last cleaning area is far, the ineffective movement of the cleaning robot 1 during the cleaning process is increased. Therefore, in this application, when it is detected that there is an uncleaned block in the current cleaning area, the connectivity detection of the cleaned area and the uncleaned block can effectively avoid the above problems.
[0120] To facilitate understanding, the specific working process of the cleaning method of the cleaning robot 1 in the present application is explained below using specific working conditions.
[0121] Please refer to Figure 7 , which is a flow chart of a cleaning method of a cleaning robot 1 provided in an embodiment of the present application. Figure 7 As shown, the method includes the following steps S610 to S670.
[0122] Step S610: Control the cleaning robot 1 to clean the multiple cleaning areas in the cleaning environment in sequence according to the cleaning sequence.
[0123] In this step, when the cleaning robot 1 receives the cleaning instruction sent by the user, and determines the area to be cleaned according to the cleaning instruction and the stored environment map, Figure 8 As shown, the cleaning robot 1 can divide the area to be cleaned into four cleaning areas as shown in the figure, and at the same time, a cleaning sequence of the cleaning robot 1 can be formed as shown in the figure. After the cleaning sequence is formed, the cleaning robot 1 can be controlled to clean the multiple cleaning areas in the cleaning environment in turn according to the cleaning sequence. Specifically, Figure 8 As shown, in this embodiment, the cleaning robot 1 can be controlled to clean area #1, area #2, area #3 and area #4 respectively. The black frame in the figure is an obstacle.
[0124] Step S620: when cleaning each cleaning area, determine whether there is an uncleaned area in a cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0125] Specifically, if there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S640 is executed; if there is no uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, step S630 is executed.
[0126] Step S630: If there is no uncleaned area in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, control the cleaning robot 1 to clean the current cleaning area.
[0127] As shown in FIG9(a), in this embodiment, if there is no uncleaned block in the cleaning area adjacent to area #1, the cleaning robot 1 is controlled to clean area #1, and after the cleaning is completed, the cleaning robot 1 is controlled to clean area #2. Among them, area #1-@1 is the cleaned area in area #1.
[0128] Step S640: if there is an uncleaned area in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, determine whether the current cleaning area is connected to the uncleaned area, and adjust the cleaning order of the cleaning robot 1 according to the determination result.
[0129] Specifically, Fig.10 As shown, in this application, when the #2 area is cleaned and uncleaned blocks #1-@2 are found in the #1 area adjacent to the #2 area, it is determined whether the uncleaned blocks #1-@2 are connected to the current clean area #2. Fig.10 As shown, when the uncleaned block #1-@2 is connected to the current cleaning area #2, the uncleaned block #1-@2 can be merged with the current cleaning area #2, and the cleaning robot 1 can be controlled to clean the merged area. In another embodiment, the cleaning order of the cleaning robot 1 can be controlled according to the distance between the initial position of the cleaning robot 1 entering the current cleaning area #2 and the uncleaned block #1-@2. Fig.10 As shown, in this embodiment, the initial position of the cleaning robot 1 entering the current cleaning area #2 is close to the current cleaning area #2, then the cleaning robot 1 can be controlled to clean the current cleaning area #2 first, and then the cleaning robot 1 can be controlled to clean the uncleaned block #1-@2 after the cleaning is completed. In other cases, if the initial position of the cleaning robot 1 entering the current cleaning area #2 is close to the uncleaned block #1-@2, then the cleaning robot 1 can be controlled to clean the uncleaned block #1-@2 first, and then the cleaning robot 1 can be controlled to clean the current cleaning area #2 after the cleaning is completed.
[0130] In another case, when the uncleaned blocks #1-@2 are not connected to the current cleaning area #2, the cleaning robot 1 can be controlled to clean the current cleaning area #2.
[0131] Step S650: when the cleaning area completes the cleaning work on the current cleaning area, it is determined whether there is an uncleaned block in the current cleaning area.
[0132] Specifically, if there is an uncleaned block in the current cleaning area, step S660 is executed; if there is no uncleaned block in the current cleaning area, step S670 is executed.
[0133] Step S660: If there is an uncleaned block in the current cleaning area, save the position information of the uncleaned block, and control the cleaning robot 1 to clean the next cleaning area according to the cleaning sequence.
[0134] Specifically, as shown in Figures 9(a) and 9(b), in this embodiment, when the cleaning robot 1 completes the cleaning work on area #1, it can be detected that there are still uncleaned blocks #1-@2 in area #1. At this time, the position information of the uncleaned blocks #1-@2 can be saved. After successful saving, the cleaning robot 1 is controlled to clean #2.
[0135] In one embodiment, when the cleaning robot 1 completes the cleaning work of the #1 area and detects that there is still an uncleaned block #1-@2 in the #1 area, the connectivity detection of the #1-@2 area and the #1-@1 area can be performed. If the #1-@2 area is connected to the #1-@1 area, the cleaning robot 1 is controlled to clean the #1-@2 area, and after the cleaning is completed, the cleaning robot 1 is controlled to clean the #2 area. If the #1-@2 area is not connected to the #1-@1 area, the position information of the uncleaned block #1-@2 is saved, and after the saving is successful, the cleaning robot 1 is controlled to clean the #2 area.
[0136] Step S670: If there is no uncleaned area in the current cleaning area, control the cleaning robot 1 to clean the next cleaning area according to the cleaning sequence.
[0137] Specifically, in this step, as shown in Figure 11(a) and Figure 11(b), when the cleaning robot 1 completes the cleaning of area #2 and detects that there is no uncleaned block in area #2, the cleaning robot 1 can be controlled to clean area #3 and area #4 according to the cleaning order.
[0138] When the cleaning work of area #3 is completed, the cleaning robot 1 can clean area #4. In one embodiment, the cleaning method is shown in Figure 12 (a) and Figure 12 (b). In another embodiment, the cleaning method is shown in Figure 13 (a) and Figure 13 (b).
[0139] It can be seen that the cleaning method of the cleaning robot 1 in this application is used to Figure 8 When cleaning the environment to be cleaned shown in , the cleaning sequence is #1-@1>#2>#1-@2>#3>#4. Figure 8 When cleaning the area to be cleaned shown in , the cleaning order is #1-@1>#2>#3>#4>#1-@2. Therefore, it can be seen that the present application improves the cleaning efficiency of the cleaning robot 1 and reduces the ineffective movement of the cleaning robot 1 during the cleaning process.
[0140] In several embodiments provided in the present application, the disclosed devices and methods may also be implemented in other ways. The device embodiments described above are merely schematic, for example, the flowcharts and block diagrams in the accompanying drawings show the possible architecture, functions and operations of the devices, methods and computer program products according to the multiple embodiments of the present application. In this regard, each box in the flowchart or block diagram may represent a module, a program segment or a part of a code, and a module, a program segment or a part of a code contains one or more executable instructions for implementing a specified logical function. In some alternative implementations, the functions marked in the box may also occur in an order different from that marked in the accompanying drawings. For example, two consecutive boxes can actually be executed substantially in parallel, and they may sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or the flowchart, and the combination of boxes in the block diagram and / or the flowchart, can be implemented with a dedicated hardware-based system that performs a specified function or action, or can be implemented with a combination of dedicated hardware and computer instructions.
[0141] In addition, the functional modules in the various embodiments of the present application may be integrated together to form an independent part, or each module may exist separately, or two or more modules may be integrated to form an independent part.
[0142] If the function is implemented in the form of a software function module and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, and other media that can store program codes.
Claims
1. A cleaning method for a cleaning robot, characterized in that: The method comprises: Controlling the cleaning robot to clean multiple cleaning areas in the cleaning environment in sequence according to a cleaning order; When cleaning each cleaning area, determine whether there is an uncleaned block in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, and adjust the cleaning order of the cleaning robot according to the determination result; wherein the uncleaned block is the area that the cleaning robot has not reached when cleaning the cleaning area adjacent to the current cleaning area; adjusting the cleaning order means that the cleaning robot re-sweeps the uncleaned block after cleaning the current cleaning area, or re-sweeps the uncleaned block first and then cleans the current cleaning area, or merges the uncleaned block with the current cleaning area; When cleaning each of the cleaning areas, determining whether there is an uncleaned block in a cleaning area adjacent to the current cleaning area and having completed the cleaning task, and adjusting the cleaning order of the cleaning robot according to the determination result, including: If the uncleaned block exists in a cleaning area adjacent to the current cleaning area and having completed the cleaning task, determine whether the current cleaning area is connected to the uncleaned block, and adjust the cleaning order of the cleaning robot according to the determination result; If the uncleaned block does not exist in the cleaning area adjacent to the current cleaning area and which has completed the cleaning task, the cleaning robot is controlled to clean the current cleaning area.
2. The cleaning method of the cleaning robot according to claim 1, characterized in that: Before controlling the cleaning robot to sequentially clean the multiple cleaning areas in the cleaning environment according to the cleaning sequence, the method further includes: Receiving a cleaning instruction, and determining the environment to be cleaned according to the cleaning instruction and a stored environment map; The environment to be cleaned is divided into a plurality of cleaning areas, and a cleaning sequence of the cleaning robot is generated according to the plurality of cleaning areas.
3. The cleaning method of the cleaning robot according to claim 1, characterized in that: The determining whether the current cleaning area is connected to the uncleaned area and adjusting the cleaning sequence of the cleaning robot according to the determination result includes: If the current cleaning area is connected to the uncleaned block, the current cleaning area is merged with the uncleaned block, and the cleaning robot is controlled to clean the merged cleaning area; If the current cleaning area is not connected to the uncleaned area, the cleaning robot is controlled to clean the current cleaning area.
4. The cleaning method of the cleaning robot according to claim 1, characterized in that: The determining whether the current cleaning area is connected to the uncleaned area and adjusting the cleaning sequence of the cleaning robot according to the determination result includes: If the current cleaning area is connected to the uncleaned area, adjusting the cleaning order of the cleaning robot according to the distance between the initial position of the cleaning robot entering the current cleaning area and the uncleaned area; If the current cleaning area is not connected to the uncleaned area, the cleaning robot is controlled to clean the current cleaning area.
5. The cleaning method of the cleaning robot according to claim 4, characterized in that: The step of adjusting the cleaning sequence of the cleaning robot according to the distance between the initial position of the cleaning robot entering the current cleaning area and the uncleaned area comprises: If the distance between the initial position and the uncleaned area is less than a preset threshold, the cleaning robot is controlled to clean the uncleaned area, and after cleaning, the cleaning robot is controlled to clean the current cleaning area; If the distance between the initial position and the uncleaned area is greater than a preset threshold, the cleaning robot is controlled to clean the current cleaning area, and after cleaning is completed, the cleaning robot is controlled to clean the uncleaned area.
6. The cleaning method of the cleaning robot according to claim 3 or 5, characterized in that: The method further comprises: When the cleaning robot completes the cleaning work of the current cleaning area, determining whether there is an uncleaned block in the current cleaning area; If the uncleaned block does not exist in the current cleaning area, controlling the cleaning robot to clean the next cleaning area according to the cleaning sequence; If the uncleaned block exists in the current cleaning area, the position information of the uncleaned block is saved, and the cleaning robot is controlled to clean the next cleaning area according to the cleaning sequence.
7. The cleaning method of the cleaning robot according to claim 6, characterized in that: The method further comprises: If the uncleaned block exists in the current cleaning area, determine whether the cleaned area is connected to the uncleaned block; wherein the cleaned area is the area formed after the cleaning robot completes edge cleaning and bow-shaped cleaning in the current cleaning area; If the cleaned area is connected to the uncleaned block, control the cleaning robot to clean the uncleaned block, and after cleaning, control the cleaning robot to clean the next cleaning area according to the cleaning sequence; If the cleaned area is not connected to the uncleaned block, the position information of the uncleaned block is saved, and the cleaning robot is controlled to clean the next cleaning area according to the cleaning sequence.
8. The cleaning method of the cleaning robot according to claim 6, characterized in that: The determining whether there is an uncleaned block in the current cleaning area includes: Compare the cleaned area with the current clean area in the stored environment map, and determine whether the uncleaned block exists in the current clean area according to the comparison result; The cleaned area is an area formed after the cleaning robot completes edge cleaning and bow-shaped cleaning in the current cleaning area.
9. A cleaning robot, characterized in that: include: processor; a memory for storing processor-executable instructions; Wherein, the processor is configured to execute the cleaning method of the cleaning robot according to any one of claims 1-8.