A cleaning robot area division cleaning control method, chip and robot
By expanding the cleaning trajectory and marking it as an obstacle, the problem of missed cleaning by robotic vacuum cleaners in areas divided by obstacles or virtual walls is solved, achieving full-area cleaning and improving cleaning quality and efficiency.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- AMICRO SEMICONDUCTOR CO LTD
- Filing Date
- 2022-06-02
- Publication Date
- 2026-07-10
AI Technical Summary
When faced with areas completely divided by obstacles or virtual walls, existing robotic vacuum cleaners are prone to missing some areas that have not been cleaned, or they may fail to select uncleaned areas due to the principle of proximity navigation, resulting in incomplete cleaning.
By expanding the cleaning trajectory and marking it as an obstacle, a rigorous processing logic is formulated to enable the robot to avoid cleaned areas during localization and ensure that it can plan to clean uncleaned areas. The robot uses a bow-shaped cleaning pattern and a floodfill algorithm to determine the accessibility of uncleaned areas.
It achieves zero missed areas, improves the quality and efficiency of robot cleaning, reduces the chance of navigation errors, and ensures that all accessible areas are completely cleaned.
Smart Images

Figure CN117215295B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent robot technology, and to a control method, chip, and robot for a cleaning robot that performs zoned cleaning. Background Technology
[0002] In existing robotic vacuum cleaners, the standard zone cleaning process involves navigating to any point within the target area, activating an edge-following program to create a non-obstacle, reachable sub-frame within a box, and then cleaning that sub-frame. However, this simple logic has limitations. When the area is completely divided by obstacles or virtual walls, some areas may be missed. Alternatively, due to the proximity-based navigation principle, the robot may continuously select navigation points from already cleaned areas, failing to select uncleaned areas and thus preventing the robot from cleaning those areas. Summary of the Invention
[0003] To address the aforementioned technical deficiencies, this invention discloses a control method, chip, and robot for zoned cleaning by a cleaning robot. This application expands the robot's cleaning path and marks it as obstacles. Even if the cleaning frame is completely separated by obstacles or virtual walls, the robot will still clean all areas it can reach, thus achieving zero missed areas. The specific technical solution is as follows:
[0004] A control method for zoned cleaning by a cleaning robot includes the following steps: S1: The cleaning robot moves to an uncleaned area in the cleaning frame, cleans the cleaning frame in a set manner, and records the cleaning trajectory of the cleaning robot, then proceeds to step S2; S2: The cleaning robot processes the cleaning trajectory and then determines whether there is an uncleaned area in the current cleaning frame. If not, the cleaning of the cleaning frame is complete. If there is, it determines whether the uncleaned area is passable. If it is not passable, the cleaning of the cleaning frame is complete. If it is passable, it proceeds to step S1.
[0005] Furthermore, before the cleaning robot performs step S1, it also includes: receiving a zoned cleaning command and obtaining the cleaning box information in the zoned cleaning command, and then selecting a cleaning box for zoned cleaning based on the cleaning box information; randomly selecting an uncleaned cleaning box, obtaining the position of the selected cleaning box on the cleaning map based on the cleaning box information, and then moving it into the cleaning box.
[0006] Furthermore, obtaining the cleaning frame information in the zoned cleaning command includes the following steps: the cleaning robot obtains the cleaning frame information converted into vector format from the vector container; wherein, the cleaning frame information includes at least the pixel coordinates, pixel width, and pixel length of the cleaning frame on the cleaning map.
[0007] Furthermore, if the cleaning robot has completed cleaning the cleaning box, the cleaning box information of the cleaning box is removed from the vector container, and according to the cleaning box information in the zone cleaning command, an uncleaned cleaning box is randomly selected again for cleaning, until all cleaning boxes on the cleaning map are cleaned.
[0008] Furthermore, in step S1, the robot performs cleaning according to the set method, including the following steps:
[0009] The cleaning robot first performs edge cleaning within the cleaning frame, and then uses a bow-shaped cleaning pattern to clean the area covered by the edge cleaning.
[0010] Further, in step S2, the cleaning trajectory is processed, including the following steps: expanding the cleaning trajectory by a set width; marking the expanded cleaning trajectory as an obstacle; wherein the pixel value of the cleaning trajectory is different from the pixel value of the uncleaned area of the cleaning frame.
[0011] Further, in step S2, the cleaning robot determines whether there is an uncleaned area in the current cleaning frame, including the following steps: the cleaning robot traverses the pixels of the current cleaning frame. If the values of the pixels in the current cleaning frame are all the same, then there is no uncleaned area in the current cleaning frame. If the values of the pixels in the current cleaning frame are not the same, then there is an uncleaned area in the current cleaning frame.
[0012] Further, in step S2, determining whether the uncleaned area is passable includes the following steps: selecting a pixel in the uncleaned area as the selection object using the floodfill algorithm, and also selecting pixels with the same value that are adjacent to the selection object as selection objects, and then determining whether the selection object can reach the robot's current position. If it can, the uncleaned area is passable.
[0013] A chip for storing a program configured to execute the aforementioned control method for zoned cleaning by a cleaning robot.
[0014] A robot is equipped with a main control chip, wherein the main control chip is the chip described above.
[0015] Compared with existing technologies, the technical solution of this application, through the formulation of rigorous processing logic, enables the robot to process the cleaning trajectory. When positioning, the robot no longer selects already cleaned areas with cleaning trajectories, ensuring that the cleaning robot can smoothly plan the next path point to the still uncleaned area within the cleaning frame. Even if the cleaning frame is completely separated by obstacles or virtual walls, as long as the robot can reach the area, it will clean it completely, thus achieving no missed cleaning and improving the cleaning quality of the robot. When navigating, the robot only considers avoiding obstacles. By expanding the cleaning trajectory and marking it as an obstacle, the robot can ignore or avoid the cleaning trajectory. This method is easy to implement, does not change the robot's navigation code, and reduces the probability of robot errors. Attached Figure Description
[0016] Figure 1 This is a flowchart of a control method for a cleaning robot to perform zoned cleaning according to an embodiment of the present invention;
[0017] Figure 2 This is a schematic diagram of a cleaning robot cleaning according to an embodiment of the present invention. Detailed Implementation
[0018] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings. It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0019] like Figure 1As shown, a control method for zoned cleaning by a cleaning robot is described. Existing robots, when cleaning a defined cleaning area, typically navigate to any point within the target area, initiate an edge-following program to obtain a non-obstacle, reachable sub-frame within the defined area, and then clean this sub-frame to complete the cleaning task. The cleaning frame is a specific area designated by the user on a cleaning map for the robot to clean. The robot generally does not venture outside the cleaning frame. However, if the cleaning frame is completely divided by obstacles or virtual walls, the robot may ignore uncleaned areas because the frame has already been cleaned; or, due to the principle of proximity navigation, it may continuously select navigation points within the already cleaned area, failing to select uncleaned areas, thus preventing the robot from cleaning those areas. The method described in this application primarily involves establishing rigorous processing logic to inflate the cleaning trajectory of the robot and mark it as obstacles. This ensures that the cleaning robot can successfully plan the next path point to the un-cleaned areas within the cleaning frame. Even if the cleaning frame is completely separated by obstacles or virtual walls, the robot will still clean all areas it can reach, thus achieving zero missed areas and improving the cleaning quality. The method includes the following steps:
[0020] When a cleaning robot starts working, it can clean according to a pre-set plan or remain in standby mode, waiting to receive cleaning commands. When the cleaning robot receives a zone cleaning command, it immediately executes the command, retrieving cleaning box information from a vector container and converting it into vector format. The zone cleaning command is executed by the user dividing the cleaning box on the cleaning map via a smart terminal and then sending it to the cleaning robot, enabling the robot to clean the designated cleaning boxes. When the user divides or specifies cleaning boxes, these boxes are stored as vectors. Multiple cleaning boxes can be specified at once, with no limit on the number. User-defined cleaning boxes are standard technology in the cleaning robot field and will not be elaborated further here. The cleaning box information consists of xywh, where x and y are the pixel coordinates of the top-left corner of the cleaning box on the cleaning map, and wh are the pixel width and height of the cleaning box, respectively. A vector is a sequence container that encapsulates a dynamically sized array. Like any other type of container, it can store objects of various types. A vector can be simply considered as a dynamic array that can store any type of data.
[0021] Step S1: When the cleaning robot performs cleaning according to the zoned cleaning command, it randomly selects an uncleaned cleaning box and determines its position on the cleaning map based on the box information. Then, it first checks the obstacle information on the cleaning map and the box information to determine if the cleaning robot can move into the selected cleaning box. If so, the cleaning robot moves into the uncleaned area of the box and cleans it using the set method, recording its cleaning trajectory. If not, the cleaning robot marks the box but does not clean it. After cleaning is complete, it sends the marking information to the smart terminal, allowing the user to view the cleaning status or mark the box as cleaned. The cleaning process involves the following steps: The cleaning robot first performs edge cleaning within the cleaning frame. By ensuring that the robot extends beyond the cleaning frame, the size of the cleaning frame to be cleaned and the area that needs to be cleaned are known. Then, the area covered by the edge cleaning is cleaned in a bow-shaped pattern.
[0022] Step S2: After performing edge and bow-shaped cleaning, the cleaning robot processes the cleaning trajectory and then determines whether there are any uncleaned areas in the current cleaning frame. If not, the cleaning of the cleaning frame is complete. If there are, it determines whether the uncleaned area is passable. If it is not passable, the cleaning of the cleaning frame is complete. If it is passable, it moves to the uncleaned area using the above method, performs edge and bow-shaped cleaning on the uncleaned area, and records the cleaning trajectory. Then it determines whether there are any uncleaned areas in the current cleaning frame again, repeating the above steps until the cleaning robot determines that the cleaning of the current cleaning frame is complete. At this point, if the cleaning robot has completed the cleaning of the cleaning frame, it removes the cleaning frame information from the vector container and, according to the cleaning frame information in the zone cleaning command, randomly selects another uncleaned cleaning frame and cleans it using the above method. These steps are repeated until all cleaning frames on the cleaning map are cleaned.
[0023] In one embodiment, step S2 processes the cleaning trajectory, including the following steps: expanding the cleaning trajectory by a set width; marking the expanded cleaning trajectory as an obstacle; wherein the pixel value of the cleaning trajectory is different from the pixel value of the uncleaned area of the cleaning frame. When navigating, the robot only considers avoiding obstacles. To maintain the logic, the cleaning trajectory needs to be changed to an obstacle. To avoid affecting the robot's movement, the robot can move outside the cleaning frame before expanding and marking the cleaning trajectory; or the cleaning trajectory can be expanded and marked as an obstacle during cleaning without affecting the robot's movement. The set width is the robot's radius. The obstacle avoidance code related to robot navigation only considers obstacles. To ensure that the cleaning robot can successfully plan the next path point to the uncleaned area within the cleaning frame, thus achieving no missed cleaning, the cleaning trajectory needs to be marked as an obstacle to prevent the cleaning robot from repositioning itself in a cleaned area when locating the cleaning frame due to proximity navigation. Because the actual location of the cleaning robot is taken from the pixel at the center of the cleaning robot, and the cleaning trajectory is the movement trajectory of the pixel at the center of the cleaning robot, and the robot has a radius, when the robot cleans along an obstacle, the robot is always a radius away from the obstacle and is on the side of the obstacle. That is, there is a distance of the cleaning robot radius between the cleaning trajectory and the obstacle. The pixels between the obstacle and the cleaning robot's cleaning trajectory will not exist on the cleaning robot's cleaning trajectory. However, the pixels in these areas are actually considered to have been cleaned. Therefore, after cleaning an area, the cleaning trajectory will be expanded by the robot's radius pixels to prevent the cleaning robot from positioning itself in the area between the cleaning trajectory and the obstacle or the area between two cleaning trajectories.
[0024] In one embodiment, step S2, where the cleaning robot determines whether there are uncleaned areas in the current cleaning frame, includes the following steps: The cleaning robot traverses the pixels of the current cleaning frame. If the values of all pixels in the current cleaning frame are the same, then there are no uncleaned areas in the current cleaning frame. If the values of the pixels in the current cleaning frame are different, then there are uncleaned areas in the current cleaning frame. When the cleaning robot cleans the cleaning map, it obtains a linear cleaning trajectory and changes the grayscale values of the pixels on the cleaning trajectory. Then, it performs dilation processing on the cleaning trajectory to ensure that the cleaning trajectory covers all cleaned areas. The grayscale values of the pixels in the cleaned areas also become the grayscale values of the pixels on the cleaning trajectory, allowing the cleaning robot or the user to easily distinguish which areas are cleaned and which areas are uncleaned from the grayscale values of the pixels. Therefore, when the cleaning robot traverses the current cleaning frame, if there are two grayscale values among the pixels in the cleaning frame, it can determine that the current cleaning frame has uncleaned areas. Of course, the pixels of obstacles and areas to be cleaned on the map have different gray values. Therefore, the above statement refers to the fact that the pixels of the area to be cleaned in the current cleaning frame have the gray values of the pixels in the cleaned area and the gray values of the pixels in the uncleaned area.
[0025] In one embodiment, step S2, determining whether the uncleaned area is passable, includes the following steps: A pixel in the uncleaned area is selected as the selection object using a floodfill algorithm, and pixels with the same value adjacent to the selected object are also selected. Then, it is determined whether the selected object can reach the current position of the cleaning robot. If so, the uncleaned area is passable. The cleaning robot uses a pixel in the uncleaned area as both the selection object and the judgment center, checking whether the grayscale values of pixels adjacent to that pixel are the same. If they are the same, the adjacent pixels are used as both selection objects and judgment centers again, and this process continues until no pixels with the same grayscale value adjacent to the selected object are found, or the selected object reaches the current position of the cleaning robot. This is similar to the Minesweeper game; one click triggers a large area.
[0026] like Figure 2As shown, after receiving the command to clean in designated areas, the cleaning robot determines the position of the cleaning frame on the cleaning map using the information from the cleaning frame. When the cleaning frame is divided into two sub-frames, 1 and 2, the cleaning robot randomly moves to either sub-frame 1 or sub-frame 2. Once in sub-frame 1, the robot performs edge cleaning, creating an area enclosed by the cleaning trajectory. The robot then performs a bow-shaped cleaning pattern within this area, recording the cleaning trajectory during the process. After the bow-shaped cleaning, the cleaning of sub-frame 1 is complete. The robot then expands the cleaning trajectory line, either inside or outside sub-frame 1. After expansion, it can first determine if there are any uncleaned areas within the cleaning frame, or mark the expanded trajectory line as an obstacle. Upon discovering an uncleaned area in sub-frame 2, it determines if the cleaning robot can pass through. If it can, the robot moves to sub-frame 2 and repeats the cleaning steps in sub-frame 1.
[0027] Compared with existing technologies, the technical solution of this application, through the formulation of rigorous processing logic, enables the robot to process the cleaning trajectory. When positioning, the robot no longer selects already cleaned areas with cleaning trajectories, ensuring that the cleaning robot can smoothly plan the next path point to the still uncleaned area within the cleaning frame. Even if the cleaning frame is completely separated by obstacles or virtual walls, as long as the robot can reach the area, it will clean it completely, thus achieving no missed cleaning and improving the cleaning quality of the robot. By using the robot navigation-related code to avoid obstacles, the robot ignores or avoids the cleaning trajectory by expanding the cleaning trajectory and marking it as an obstacle. This method is easy to implement, does not change the robot navigation code, and reduces the probability of robot navigation errors.
[0028] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A control method for a cleaning robot to perform zoned cleaning, characterized in that, The method includes the following steps: S1: The cleaning robot moves to the uncleaned area of the cleaning box, cleans the cleaning box in the set mode, records the cleaning robot's cleaning trajectory, and then proceeds to step S2; S2: The cleaning robot processes the cleaning trajectory and then determines whether there is an uncleaned area in the current cleaning frame. If there is no uncleaned area, the cleaning of the cleaning frame is completed. If there is uncleaned area, it determines whether the uncleaned area is passable. If it is not passable, the cleaning of the cleaning frame is completed. If it is passable, it proceeds to step S1. In step S2, the cleaning trajectory is processed, including the following steps: expanding the cleaning trajectory by a set width; marking the expanded cleaning trajectory as an obstacle; the pixel value of the cleaning trajectory is different from the pixel value of the uncleaned area of the cleaning frame; In step S2, determining whether the uncleaned area is passable includes the following steps: selecting a pixel in the uncleaned area as the selection object using the floodfill algorithm, and also selecting pixels with the same value that are adjacent to the selection object as selection objects. Then, it is determined whether the selection object can reach the robot's current position. If it can, the uncleaned area is passable.
2. The control method for zoned cleaning by a cleaning robot according to claim 1, characterized in that, Before the cleaning robot performs step S1, the following steps are also included: Receive the zone cleaning command and obtain the cleaning box information in the zone cleaning command, and then select the cleaning box based on the cleaning box information to perform zone cleaning; Randomly select an uncleaned cleaning box, and determine the position of the selected cleaning box on the cleaning map based on the cleaning box information, and then move it into the cleaning box.
3. The control method for zoned cleaning by a cleaning robot according to claim 2, characterized in that, To obtain the cleaning box information from the zoned cleaning command, the following steps are required: The cleaning robot obtains the cleaning box information, converted into vector format, from the vector container; The cleaning frame information includes at least the pixel coordinates, pixel width, and pixel length of the cleaning frame on the cleaning map.
4. The control method for zoned cleaning by a cleaning robot according to claim 3, characterized in that, If the cleaning robot has finished cleaning the cleaning box, the cleaning box information of the cleaning box is removed from the vector container, and according to the cleaning box information in the zone cleaning command, another uncleaned cleaning box is randomly selected for cleaning, until all cleaning boxes on the cleaning map are cleaned.
5. The control method for zoned cleaning by a cleaning robot according to claim 1, characterized in that, In step S1, the robot performs cleaning according to the preset method, including the following steps: The cleaning robot first performs edge cleaning within the cleaning frame, and then uses a bow-shaped cleaning pattern to clean the area covered by the edge cleaning.
6. The control method for zoned cleaning by a cleaning robot according to claim 1, characterized in that, In step S2, the cleaning robot determines whether there are any uncleaned areas in the current cleaning frame, including the following steps: The cleaning robot iterates through the pixels of the current cleaning frame. If all the pixel values in the current cleaning frame are the same, then there are no uncleaned areas in the current cleaning frame. If the pixel values in the current cleaning frame are different, then there are uncleaned areas in the current cleaning frame.
7. A chip for storing a program, characterized in that, The program is configured to perform a control method for zoned cleaning of a cleaning robot as described in any one of claims 1 to 6.
8. A robot equipped with a main control chip, characterized in that, The main control chip is the chip described in claim 7.