A cleaning path planning method, system, cleaning device and storage medium
By dividing the robotic cleaning system into matrix-arranged sub-cleaning areas and cleaning them according to preset rules, the problem of low cleaning efficiency in existing technologies is solved, and efficient area cleaning is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN LDROBOT CO LTD
- Filing Date
- 2023-05-12
- Publication Date
- 2026-06-30
AI Technical Summary
In existing technologies, the cleaning sequence of robots follows the principle of proximity, resulting in chaotic transfer paths, crossing over already cleaned areas, and low cleaning efficiency.
By obtaining the long and short sides of the circumscribed rectangle of the area to be cleaned, the area is divided into sub-cleaning areas arranged in a matrix. The robot cleans each sub-area sequentially along the long or short side according to preset rules, and moves to the next area on the same side until all areas are cleaned.
It reduces invalid transition paths, improves cleaning efficiency, avoids situations where adjacent areas are partially swept or not swept, and enhances cleaning results.
Smart Images

Figure CN118986204B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of path planning technology, and in particular to a cleaning path planning method, system, cleaning equipment, and storage medium. Background Technology
[0002] With the development of robotics technology, people have begun to use robots to replace some human labor. During the initial deployment of robots, a map needs to be created. In application, the created map is used to divide the area into different sub-cleaning zones, which are then cleaned sequentially.
[0003] The existing cleaning sequence follows the principle of proximity, which makes the transition path when cleaning the current area and then moving to the next sub-cleaning area chaotic and often requires crossing over already cleaned sub-cleaning areas to clean the next one, resulting in low cleaning efficiency. Summary of the Invention
[0004] Therefore, it is necessary to propose a cleaning path planning method, system, cleaning equipment, and storage medium to address the above problems, which can effectively improve cleaning efficiency and effectiveness.
[0005] A cleaning path planning method, comprising:
[0006] Based on the environmental map, multiple areas to be cleaned are obtained, and the long and short sides of the bounding rectangle of the current target area to be cleaned are obtained among the multiple areas to be cleaned.
[0007] The current target area to be cleaned is divided into multiple sub-cleaning areas, which are arranged in a matrix.
[0008] Upon receiving a cleaning instruction, the robot is controlled to clean according to the following preset rules:
[0009] Clean each sub-cleaning area sequentially in the direction of the first side, and after cleaning the sub-cleaning area at the same second side position, move to the next sub-cleaning area at the second side position, and repeat the step of cleaning each sub-cleaning area sequentially in the direction of the first side, wherein one of the first side and the second side is the long side and the other is the short side.
[0010] The step of controlling the robot to clean according to the following preset rules after receiving a cleaning instruction also includes:
[0011] Obtain the current position of the robot. If the current position of the robot is located at a non-end position of the target area to be cleaned, then divide the target area to be cleaned into two cleaning blocks based on the current position of the robot. Select one of the cleaning blocks as the first cleaning area, and select the target sub-cleaning area in the first cleaning area.
[0012] The step of selecting the target sub-cleaning area within the previously cleaned block cleaning area includes:
[0013] Cleaning begins from the robot's current position; or
[0014] The cleaning process begins with the cleaning sub-region at the end of the first-cleaned block cleaning area.
[0015] The step of selecting one of the block cleaning areas as the area to be cleaned first includes:
[0016] Determine the location of the next area to be cleaned;
[0017] Select a block cleaning area that is far away from the next area to be cleaned as the prior cleaning area, so that the block cleaning area to be cleaned later is close to the next area to be cleaned.
[0018] The steps for controlling the robot to clean according to the following preset rules include:
[0019] If there is an obstacle in the cleaning sub-area, the system will clean the area outside the obstacle and then move to the next cleaning sub-area. Once the obstacle is detected to have disappeared, the system will not return to the obstacle location for cleaning.
[0020] The step of receiving the cleaning start instruction includes:
[0021] The system acquires and displays the map corresponding to the currently cleaned sub-cleaning area, the robot's position in the sub-cleaning area, and the cleaning path. The map corresponding to the sub-cleaning area includes obstacle information in the sub-cleaning area.
[0022] When the robot does not receive the cleaning instruction and after completing the cleaning operation of all sub-cleaning areas, the environmental map is displayed, and the outline information of each area to be cleaned is marked on the environmental map, and the robot's position information is displayed.
[0023] The step of dividing the current target area to be cleaned into multiple sub-cleaning areas includes:
[0024] The target area to be cleaned is divided according to the preset size. If there are sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold after the division, the sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold are merged with the adjacent sub-cleaning areas into one sub-cleaning area.
[0025] A cleaning device includes a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps described above.
[0026] A computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the steps described above.
[0027] The embodiments of the present invention have the following beneficial effects:
[0028] Obtain the long and short sides of the bounding rectangle of the current target area to be cleaned, and divide the current target area into multiple sub-cleaning areas. These sub-cleaning areas are arranged in a matrix. After receiving the cleaning instruction, control the robot to clean according to the following preset rules: Clean each sub-cleaning area sequentially in the direction of the first side, and after cleaning the sub-cleaning area at the same position on the second side, move to the next sub-cleaning area at the position of the second side. Repeat the step of cleaning each sub-cleaning area sequentially in the direction of the first side, where one of the first and second sides is the long side and the other is the short side, until all sub-cleaning areas are cleaned. This can reduce invalid transition paths, improve cleaning efficiency, and prevent adjacent areas from being partially cleaned while partially uncleaned, thus improving the cleaning effect. Attached Figure Description
[0029] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0030] in:
[0031] Figure 1 This is a flowchart illustrating an embodiment of the cleaning path planning method provided by the present invention;
[0032] Figure 2 This is a schematic diagram of the environment map of the area to be cleaned provided by the present invention;
[0033] Figure 3 An internal structural diagram of a cleaning device in one embodiment is shown. Detailed Implementation
[0034] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0035] Please refer to the following: Figure 1 and Figure 2 , Figure 1 This is a flowchart illustrating an embodiment of the cleaning path planning method provided by the present invention. Figure 2 This is a schematic diagram of the environment map of the area to be cleaned, provided by the present invention. For example... Figure 2 The area to be cleaned, as shown, is the corridor surrounding the office / residential area.
[0036] The cleaning path planning method provided by this invention includes the following steps:
[0037] S101: Obtain multiple areas to be cleaned based on the environment map, and obtain the long and short sides of the bounding rectangle of the current target area to be cleaned among the multiple areas to be cleaned.
[0038] In a specific implementation scenario, the surrounding environment information can be obtained by scanning with a scanning device such as a LiDAR built into the robot. Alternatively, it can be combined with at least one sensor on the robot to obtain the robot's movement distance, and then the environmental information of the area to be cleaned can be obtained by combining the surrounding environment information and the movement distance. Another approach is to analyze a map of the area to be cleaned provided by the user to obtain the environmental information. Based on this environmental information, a map of the environment to be cleaned can be constructed, for example... Figure 2 The map shown is of the environment to be cleaned.
[0039] The area to be cleaned is divided into multiple cleaning zones based on a map of the environment. This division can be based on the robot's cleaning capabilities, battery life, and the required level of regularity in the area. Figure 2 As shown, the area to be cleaned is divided into four areas: A, B, C, and D.
[0040] The robot can acquire the current target area to be cleaned from multiple areas to be cleaned, and can select the current target area to be cleaned based on the robot's current location or the user's cleaning needs. For example, Figure 2 As shown, area A is designated as the current target area to be cleaned.
[0041] Obtain the long and short sides of the bounding rectangle of the target area to be cleaned. Figure 2In the scenario shown, the long and short sides of the circumscribed rectangle are the same as the long and short sides of region A. In other implementation scenarios, if the target area to be cleaned is an irregular shape, it is necessary to obtain its smallest circumscribed rectangle. This can be done by obtaining the lengths of two adjacent sides of the circumscribed rectangle and comparing them to determine which of the two adjacent sides is the longer and shorter side.
[0042] S102: Divide the current target cleaning area into multiple sub-cleaning areas, which are arranged in a matrix.
[0043] In a specific implementation scenario, the current target cleaning area is divided into multiple sub-cleaning areas arranged in a matrix. The lengths of the long and short sides of each sub-cleaning area are determined by comprehensively considering factors such as the robot's cleaning ability, battery life, path planning requirements, and cleaning efficiency requirements (if the sub-cleaning areas are too small, the cleaning efficiency will be low). In this implementation scenario, the sub-cleaning areas are areas of the same size and shape. In other implementation scenarios, the size and shape of the sub-cleaning areas may differ.
[0044] In an implementation scenario, such as Figure 2 As shown, the target cleaning area A is divided into 2 rows and 10 columns, with a total of 2 sub-cleaning areas 101-120.
[0045] In another implementation scenario, the target area to be cleaned is divided according to preset dimensions, for example, dividing the target area to be cleaned into sub-cleaning areas with dimensions of length x cm and width y cm. In actual division, it's possible that each division will not be exactly the same. Figure 2 As shown, the target cleaning area A is completely divided. If the current target area to be cleaned is irregular in size or its size is not an integer multiple of the preset size, there may be sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold after the division. Sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold are merged with adjacent sub-cleaning areas into one sub-cleaning area to avoid dividing too many sub-areas, which would lead to low cleaning efficiency.
[0046] S103: After receiving the cleaning instruction, control the robot to clean according to the following preset rules: clean each sub-cleaning area in sequence in the direction of the first side, and after cleaning the sub-cleaning area at the same second side position, move to the next sub-cleaning area at the second side position, and repeat the step of cleaning each cleaning sub-area in sequence in the direction of the first side, wherein one of the first side and the second side is the long side and the other is the short side.
[0047] In a specific implementation scenario, the user can send a cleaning start command to the robot or preset start conditions. When the start conditions are met (e.g., the preset start time is reached), the robot automatically generates a cleaning command. Upon receiving the cleaning command, the robot obtains its current position and selects a target sub-cleaning area from multiple sub-cleaning areas within the target cleaning area that needs cleaning, based on the current position.
[0048] In this implementation scenario, after obtaining the target cleaning area, all sub-cleaning areas corresponding to the target long side position are cleaned along the short side direction of the target cleaning area. Then, the process moves to the next sub-cleaning area corresponding to the long side position for cleaning. For example, after cleaning sub-cleaning areas 101 and 120, which are at the same position along the long side, the process moves to the next long side position corresponding to the next sub-cleaning area 119 and 102. The cleaning order is 101, 120, 119, 102, 103, 118, and so on.
[0049] In other implementation scenarios, all sub-cleaning areas corresponding to the target short side position can be cleaned along the long side of the target cleaning area before moving to the next sub-cleaning area corresponding to the short side position for cleaning. For example, after cleaning sub-cleaning areas 101-110, move to the next sub-cleaning area 111 and sub-cleaning areas 111-120 corresponding to the next short side position.
[0050] If the robot is not currently located within the target cleaning area, a sub-cleaning area at the end of the target area is selected as the target sub-cleaning area. For example, if the target cleaning area is A, then one of sub-cleaning areas 101, 120, 110, and 111 is selected as the target sub-cleaning area. Alternatively, the sub-cleaning area closest to the robot's current position can be selected.
[0051] If the robot is currently located within the target cleaning area and its sub-cleaning area is located at the end of the target cleaning area, then the sub-cleaning area where the robot is located can be directly used as the target sub-cleaning area. For example, if the target cleaning area is target cleaning area A, and the robot is currently located in sub-cleaning area 101, then sub-cleaning area 101 will be used as the target sub-cleaning area. Alternatively, if the robot is currently located in sub-cleaning area 120, then sub-cleaning area 120 will be used as the target sub-cleaning area.
[0052] If the robot is currently located in the target cleaning area to be cleaned, and the sub-cleaning area it is in is located in the middle of the target cleaning area, for example, in sub-cleaning area 105, then based on the current position of sub-cleaning area 105 in the target cleaning area A (including the long side position and / or the short side position), the target cleaning area A is divided into two block cleaning areas: one is the block cleaning area located to the left of the target cleaning area A, including sub-cleaning areas 101-105 and 116-120, and the other is the block cleaning area located to the right of the target cleaning area A, including sub-cleaning areas 106-110 and 111-115.
[0053] In one implementation scenario, sub-cleaning area 105 can be used as the target sub-cleaning area. Cleaning starts from sub-cleaning area 105, then moves to sub-cleaning area 116, then to sub-cleaning area 117, and so on, until sub-cleaning area 120 or 101 is completed. Then, the scene transitions to the block cleaning area to the right of sub-cleaning area 105. For example, after the transition, cleaning can start from sub-cleaning area 107 or 114 and proceed sequentially according to the strategy described above.
[0054] In another implementation scenario, the sub-cleaning area 101 or 120 at the end of the block cleaning area to the left of the target cleaning area A is designated as the target cleaning area. The robot first moves from sub-cleaning area 105 to sub-cleaning area 101 or 120 before starting cleaning; that is, the cleaning components can be retracted during the movement. However, during the cleaning process to the right of sub-cleaning area 105, considering the transition path to the next area B to be cleaned, cleaning is preferentially started from sub-cleaning area 106 or 115, which is closer to sub-cleaning area 105. This significantly reduces the transition path between sub-cleaning areas.
[0055] When selecting the area to clean first, the location of the next area to be cleaned can also be considered. A block cleaning area that is far from the next area to be cleaned can be chosen as the first cleaning area, making the block cleaning area to be cleaned later closer to the next area to be cleaned. For example, if the current target cleaning area is A and the next area to be cleaned is B, then the block cleaning area to the left of target cleaning area A, which is far from area B, can be chosen as the first cleaning area. This way, the block cleaning area to the left of target cleaning area A is cleaned first, followed by the block cleaning area to the right of target cleaning area A. After cleaning target cleaning area A, the process can move more quickly to area B for subsequent cleaning operations, effectively reducing the transition path between adjacent cleaning areas.
[0056] When cleaning the current sub-cleaning area is completed and it is necessary to move to the next sub-cleaning area for cleaning, the movement is based on the principle of proximity and the shortest distance. For example, when cleaning sub-cleaning area 101 is completed, if the end point is at the upper right corner of sub-cleaning area 101, it can directly enter sub-cleaning area 120 and perform bow-shaped path cleaning from the lower right corner of sub-cleaning area 120. Alternatively, it can move parallel to the lower right corner of sub-cleaning area 120 and then perform bow-shaped path cleaning. However, it will not move directly from the upper right corner of sub-cleaning area 101 to the upper left corner of sub-cleaning area 120 for cleaning.
[0057] When the robot cleans a sub-area, it only maintains a map of the current sub-area and displays only the map of the currently cleaned sub-area. After completing the cleaning of the current sub-area, the robot erases the map of the current sub-area from memory, loads and maintains the map of the next sub-area to be cleaned, and displays the map of the next sub-area. Therefore, the memory only maintains a map of the currently cleaned sub-area each time. Compared to the solution of maintaining the entire map, this can greatly reduce memory and computing power overhead, and the advantages are more obvious in large-scale scenarios.
[0058] When displaying a sub-cleaning area map of the currently cleaned sub-cleaning area, the sub-cleaning area map and the robot's position or cleaning path within the sub-cleaning area are displayed. The sub-cleaning area map includes obstacles within the sub-cleaning area.
[0059] Once the robot has completed cleaning operations in all sub-cleaning areas or has not received a cleaning instruction, an environmental map is displayed, marking the outline information of each area to be cleaned and showing the robot's position on the map. This effectively reduces the processing memory required for map display.
[0060] In this implementation scenario, the map can be divided into different layers. The bottom layer is the base layer, which only describes location information. Above the base layer is an obstacle layer, which describes information about various obstacles in the environment, including outline information and location information. In large-scale applications, displaying all layers of the entire map of the environment to be cleaned would require a significant amount of memory. Only during cleaning is the complete layer of the currently cleaning sub-area, including the bottom layer and the obstacle layer, displayed. When there is no cleaning task, only the bottom layer can be displayed.
[0061] It should be noted that when the robot is cleaning a sub-cleaning area, if there is an obstacle in that sub-cleaning area, completing the cleaning of the area excluding the obstacle is considered as completing the cleaning of the target sub-cleaning area, and the robot moves to the next target sub-cleaning area for cleaning. For example, if there is an obstacle in sub-cleaning area 101, the robot will avoid the obstacle while cleaning sub-cleaning area 101. Once the area excluding the obstacle is cleaned, sub-cleaning area 101 is considered cleaned, and the robot moves to sub-cleaning area 120 for cleaning. After that, it will continue to move to the right to clean sub-cleaning areas 119 and 102. Even if the obstacle is subsequently detected to have disappeared, the robot will not return to sub-cleaning area 101 for cleaning. This is because, in order to reduce memory and computing power consumption, the robot does not maintain the navigation map after cleaning.
[0062] As described above, in this embodiment, the long and short sides of the circumscribed rectangle of the current target area to be cleaned are obtained, and the current target area to be cleaned is divided into multiple sub-cleaning areas. These multiple sub-cleaning areas are arranged in a matrix. After receiving the cleaning instruction, the robot is controlled to clean according to the following preset rules: each sub-cleaning area is cleaned sequentially in the direction of the first side, and after the sub-cleaning area at the same second side position is cleaned, it moves to the next sub-cleaning area at the second side position. The step of cleaning each sub-cleaning area sequentially in the direction of the first side is repeated. Here, one of the first side and the second side is the long side, and the other is the short side, until all sub-cleaning areas are cleaned. This can reduce invalid transition paths, improve cleaning efficiency, and prevent the situation where adjacent areas are partially cleaned and partially uncleaned, thus improving the cleaning effect.
[0063] Figure 3 An internal structural diagram of a cleaning device in one embodiment is shown. This cleaning device can specifically be a terminal or a server. Figure 3 As shown, the cleaning device includes a processor, a memory, and a network interface connected via a system bus. The memory includes a non-volatile storage medium and internal memory. The non-volatile storage medium stores an operating system and may also store a computer program. When executed by the processor, this computer program enables the processor to implement an age recognition method. The internal memory may also store a computer program, which, when executed by the processor, enables the processor to implement the age recognition method. Those skilled in the art will understand that... Figure 3 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the cleaning equipment to which the present application is applied. Specific cleaning equipment may include more or fewer components than shown in the figure, or combine certain components, or have different component arrangements.
[0064] In one embodiment, a cleaning device is provided, including a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform... Figure 1 The steps are shown.
[0065] In one embodiment, a computer-readable storage medium is provided storing a computer program that, when executed by a processor, causes the processor to perform... Figure 1 The steps are shown.
[0066] Those skilled in the art will understand that all or part of the processes in the above embodiments can be implemented by a computer program instructing related hardware. The program can be stored in a non-volatile computer-readable storage medium, and when executed, it can include the processes of the embodiments described above. Any references to memory, storage, databases, or other media used in the embodiments provided in this application can include non-volatile and / or volatile memory. Non-volatile memory can include read-only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory can include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms, such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), dual data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous link DRAM (SLDRAM), RAMbus direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and RAMbus dynamic RAM (RDRAM), etc.
[0067] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0068] The embodiments described above are merely illustrative of several implementation methods of this application, and while the descriptions are specific and detailed, they should not be construed as limiting the scope of this patent application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this patent application should be determined by the appended claims.
Claims
1. A cleaning path planning method for a robot, characterized in that, include: Multiple areas to be cleaned are obtained based on the environmental map, and the long and short sides of the bounding rectangle of the current target area to be cleaned are obtained among the multiple areas to be cleaned. The current target area to be cleaned is divided into multiple sub-cleaning areas, which are arranged in a matrix. Upon receiving a cleaning instruction, the robot is controlled to clean according to the following preset rules: Clean each sub-cleaning area sequentially in the direction of the first side, and after cleaning the sub-cleaning area at the same second side position, move to the next sub-cleaning area at the second side position, and repeat the step of cleaning each sub-cleaning area sequentially in the direction of the first side, wherein one of the first side and the second side is the long side and the other is the short side. When the current sub-cleaning area is completed and it is necessary to move to the next sub-cleaning area for cleaning, the robot is controlled to move according to the principle of proximity and the shortest distance. Before controlling the robot to clean according to the following preset rules after receiving the cleaning instruction, the process also includes: Obtain the current position of the robot. If the current position of the robot is located at a non-end position of the target area to be cleaned, then divide the target area to be cleaned into two cleaning blocks based on the current position of the robot. Select one of the cleaning blocks as the first cleaning area and select the target sub-cleaning area in the first cleaning area. The step of selecting one of the block cleaning areas as the area to be cleaned first includes: Determine the location of the next area to be cleaned; Select a block cleaning area that is far away from the next area to be cleaned as the prior cleaning area, so that the block cleaning area to be cleaned later is close to the next area to be cleaned.
2. The cleaning path planning method of claim 1, wherein, Selecting the target sub-cleaning area from the previously cleaned area includes: Cleaning begins from the robot's current position; or Cleaning begins at the sub-cleaning area at the end of the first-cleaned area.
3. The cleaning path planning method of claim 1, wherein, The steps for controlling the robot to clean according to the following preset rules include: If there is an obstacle in the sub-cleaning area, the system will clean the area outside the obstacle and then move to the next sub-cleaning area. Once the obstacle is detected to have disappeared, the system will not return to the obstacle location for cleaning.
4. The cleaning path planning method of claim 1, wherein, Upon receiving the clean start instruction, the process includes: The system acquires and displays the map corresponding to the currently cleaned sub-cleaning area, the robot's position in the sub-cleaning area, and the cleaning path. The map corresponding to the sub-cleaning area includes obstacle information in the sub-cleaning area.
5. The cleaning path planning method according to any one of claims 1-3, wherein, When the robot does not receive the cleaning instruction and after completing the cleaning operation of all sub-cleaning areas, the environmental map is displayed, and the outline information of each of the areas to be cleaned is marked on the environmental map, and the robot's position information is displayed.
6. The cleaning path planning method of claim 1, wherein, The process of dividing the current target area to be cleaned into multiple sub-cleaning areas includes: The target area to be cleaned is divided according to the preset size. If there are sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold after the division, the sub-cleaning areas with irregular outlines and / or areas smaller than the preset area threshold are merged with the adjacent sub-cleaning areas into one sub-cleaning area.
7. A computer-readable storage medium storing a computer program that, when executed by a processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 6.
8. A cleaning device, comprising a memory and a processor, the memory storing a computer program that, when executed by the processor, causes the processor to perform the steps of the method as claimed in any one of claims 1 to 6.