Method for Controlling Cleaning Based on Dense Obstacles

Abstract
The present disclosure discloses a method for controlling cleaning based on dense obstacles. The method includes: step 1, marking dense obstacle points according to a number feature of grids of obstacles framed by a sliding rectangular frame which is preset in a grid map, and then proceeding to step 2; the step 2, planning navigation paths of which an end point position is corresponding to one dense obstacle point and which does not pass grids of other obstacles, and then proceeding to step 3; and the step 3, controlling the cleaning robot to complete traveling a circle around an obstacle currently in collision in a process of navigating the cleaning robot to an actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking a cleaning state of a grid corresponding to the obstacle currently in collision.
Description
CROSS-REFERENCE TO RELATED APPLICATION

The present disclosure claims the priority of Chinese Patent Application No. 202011041176.3, filed to the China National Intellectual Property Administration on Sep. 28, 2020 and entitled “Method for Controlling Cleaning Based on Dense Obstacles”, which is incorporated herein its entirety by reference.


TECHNICAL FIELD

The present disclosure relates to the technical field of cleaning control of robots, and in particular to a method for controlling cleaning based on dense obstacles.


BACKGROUND

A sweeping robot is generally used to cover and clean an environment to be cleaned in cleaning coverage regions that include common corners in a family environment, regions around chair feet, regions around table feet, etc. In the family environment, since passable regions delimited by the chair feet and table feet are narrow, the chair feet and table feet can be regarded as densely distributed obstacles. Gaps between the chair feet and between the table feet as well as the regions around the chair feet and around tables are regions that the sweeping robot tends to miss.


SUMMARY

The present disclosure discloses a method for controlling cleaning based on dense obstacles. A specific technical solution is as follows:


The method for controlling cleaning based on the dense obstacles includes: step 1, marking dense obstacle points according to a number feature of grids of obstacles framed by a sliding rectangular frame which is preset in a grid map, and then proceeding to step 2; the step 2, planning, according to the dense obstacle points marked in the grid map, navigation paths of which an end point position is corresponding to one dense obstacle point and which does not pass grids of other obstacles, and then proceeding to step 3; and the step 3, controlling, according to an obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling a circle around an obstacle currently in collision in a process of navigating the cleaning robot to an actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking a cleaning state of a grid corresponding to the obstacle currently in collision, and the cleaning robot keeps conducting cleaning operations while traveling around the obstacle currently in collision.


Optionally, the method for controlling cleaning further including: step 4, controlling, after the cleaning robot is navigated to traverse all of the dense obstacle points which are marked according to the navigation paths planned in the step 2, the cleaning robot to be navigated to an uncleaned region, then returning to the step 1 to mark new dense obstacle points, and repeating previous steps until the cleaning robot traverses all regions corresponding to the grid map.


Optionally, in the step 3, controlling, according to the obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling the circle around the obstacle currently in collision in the process of navigating the cleaning robot to the actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking the cleaning state of the grid corresponding to the obstacle currently in collision includes: controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to the navigation paths planned in the step 2, the cleaning robot to travel the circle around the obstacle currently in collision under a condition that the obstacle collision is detected, and marking, after the cleaning robot completes traveling the circle around the obstacle currently in collision, the obstacle as an obstacle-cleaned state; and controlling, when the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the cleaning robot to travel a circle around an obstacle at the dense obstacle point to be cleaned under a condition that a collision with the obstacle at the dense obstacle point to be cleaned is detected, and marking, after the cleaning robot completes traveling a circle around the obstacle at the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as the obstacle-cleaned state, and the dense obstacle point to be cleaned is a pre-configured dense obstacle point for cleaning.


Optionally, the step 3 further includes: marking, after the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as an area-cleaned state under a condition that the cleaning robot is detected to directly pass the actual position corresponding to the dense obstacle point to be cleaned, and the dense obstacle point to be cleaned is a pre-selected target obstacle to be cleaned.


Optionally, when all the dense obstacle points marked in the step 1 are marked as the obstacle-cleaned state or area-cleaned state correspondingly, the step 4 is executed.


Optionally, the step 3 further includes: step 31, controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to a first preset navigation path, the cleaning robot to travel a circle around an obstacle under a condition that a collision with the obstacle is detected, simultaneously keeping detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, and then proceeding to step 32; the step 32, proceeding to step 33 under a condition that the cleaning robot is detected not to be navigated to the actual position corresponding to the dense obstacle point to be cleaned when the cleaning robot completes traveling the circle around the obstacle which is same; the step 33, determining whether a number of times of executing the step 32 reaches 3, if the number of times of executing the step 32 reaches 3, marking the dense obstacle point to be cleaned as the obstacle-cleaned state, and if the number of times of executing the step 32 does not reach 3, proceeding to step 34; the step 34, searching out a second preset navigation path from all of the navigation paths planned in the step 2, and an end point grid position of the second preset navigation path is the dense obstacle point to be cleaned, and the second preset navigation path is different from the first preset navigation path, and then proceeding to step 35; and the step 35, controlling the cleaning robot to move along the second preset navigation path searched out in the step 34, and repeating the step 31 to the step 34 until the cleaning robot is detected to be navigated to the actual position corresponding to the dense obstacle point to be cleaned or the number of times of executing the step 32 is determined to reach 3, and after returning from the step 35 to the step 31, the first preset navigation path in the step 31 is replaced with the second preset navigation path in the step 34, and the navigation paths planned in the step 2 include the first preset navigation path and the second preset navigation path.


Optionally, the detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned includes: determining that the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned under a condition that a distance between a current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is less than a quarter of a diameter of a body of the cleaning robot, and determining that the cleaning robot is not navigated to the actual position corresponding to the dense obstacle point to be cleaned under the condition that the distance between the current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is not less than the quarter of the diameter of the body of the cleaning robot, and the fact that the cleaning robot is moved to the actual position corresponding to the dense obstacle point to be cleaned means that the cleaning robot reaches a pre-configured target position around a contour of the obstacle corresponding to the dense obstacle point to be cleaned.


Optionally, judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision includes: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 360 degrees and whether a distance between a current position of the cleaning robot and the collision position is less than a quarter of a diameter of a body of the cleaning robot, if the rotation angle of the cleaning robot is larger than or equal to 360 degrees and the distance between the current position of the cleaning robot and the collision position is less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 360 degrees, or the distance between the current position of the cleaning robot and the collision position is not less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.


Optionally, judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision includes: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 400 degrees, if the rotation angle of the cleaning robot is larger than or equal to 400 degrees, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 400 degrees, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.


Optionally, the step 1 specifically includes: step 11, controlling the cleaning robot to conduct cleaning in a region to be cleaned according to a preset planning path in a “custom-character” shape, and controlling the cleaning robot to mark the grid of the obstacle in the grid map created in real time without bypassing the obstacle when the cleaning robot detects the obstacle in a cleaning process, and the grids of the obstacles include grids of obstacles distributed at intervals; step 12, setting, according to a number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame in a process that the sliding rectangular frame is moved in the grid map, a dense obstacle standard unit region on the grid map, and then setting a preset number of positioning rectangular frames having consistent sizes with the sliding rectangular frame for taking a center of the dense obstacle standard unit region as a creation starting point, and then controlling the positioning rectangular frames to move, from the creation starting point, in a preset number of traversal directions on the grid map which are symmetrical about the center of the creation starting point respectively; and step 13, controlling each of the positioning rectangular frames to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to a relation between a ratio of an area of a new region framed by each of the positioning rectangular frames after movement relative to that before movement to an area of a region framed by the positioning rectangular frame correspondingly before movement and a change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement, and marking the grids of the obstacles distributed at intervals framed by each of the positioning rectangular frames as the dense obstacle points, and each of the positioning rectangular frames is configured to be moved once in the traversal direction correspondingly according to a unit traversal distance.


Optionally, the step 1 further includes: step 14, combining, when the preset number of positioning rectangular frames stop moving, the grids corresponding to all of the dense obstacle points which are marked to create a dense obstacle region.


Optionally, the grids of the obstacles distributed at intervals are grids of obstacles except grids of N obstacles distributed continuously in the grids of the obstacles marked in the step 11, and N is a number of continuously distributed grids set according to a pre-configured grid size in the grid map and an actual size of the obstacle marked in the region to be cleaned.


Optionally, in the step 12, setting the dense obstacle standard unit region on the grid map includes: controlling the sliding rectangular frame to move on the grid map, marking the grids of the obstacles distributed at intervals framed by the sliding rectangular frame on the grid map as an uncleaned state, and recording the number of the grids of the obstacles framed and distributed at intervals in real time; and setting a rectangular region currently framed by the sliding rectangular frame as the dense obstacle standard unit region when the number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame is larger than or equal to a first density threshold, and the first density threshold is used to indicate a distribution density of the dense obstacle points in the grid map and is enough to make gap regions between the obstacles distributed at intervals become cleaning-missed regions of the cleaning robot.


Optionally, in the step 13, controlling each of the positioning rectangular frames to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to the relation between the ratio of the area of the new region framed by each of the positioning rectangular frames after movement relative to that before movement to the area of the region framed by the positioning rectangular frame correspondingly before movement and the change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement includes: judging, every time one of the positioning rectangular frames is moved once in the traversal direction correspondingly by the unit traversal distance, whether a ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is larger than or equal to an area ratio of a region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement, if the ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is larger than or equal to the area ratio of the region, controlling the positioning rectangular frame to continuously to move in a same traversal direction by the unit traversal distance, and if the ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is not larger than or equal to the area ratio of the region, controlling the positioning rectangular frame to stop moving, and the area ratio of the region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement is a ratio of the area of the new region framed by the positioning rectangular frame after movement relative to that before movement to the area of the region framed by the positioning rectangular frame which is same before movement.


Optionally, the positioning rectangular frames are square frames, and the preset number is 8; and the traversal directions which are symmetrical about the center of the creation starting point respectively include: a rightward direction of a horizontal side length of a square frame configured as the dense obstacle standard unit region, a leftward direction of the horizontal side length of the square frame configured as the dense obstacle standard unit region, an upward direction of a longitudinal side length of the square frame configured as the dense obstacle standard unit region, a downward direction of the longitudinal side length of the square frame configured as the dense obstacle standard unit region, an upper left direction of a diagonal of the square frame configured as the dense obstacle standard unit region, a lower left direction of the diagonal of the square frame configured as the dense obstacle standard unit region, an upper right direction of the diagonal of the square frame configured as the dense obstacle standard unit region, and a lower right direction of the diagonal of the square frame configured as the dense obstacle standard unit region.


Optionally, in the step 11, controlling the cleaning robot to conduct cleaning in the region to be cleaned according to the preset planning path in the “custom-character” shape without bypassing the obstacle when the cleaning robot detects the obstacle in the cleaning process includes: controlling the cleaning robot to travel along the preset planning path in the “custom-character” shape, and controlling, when the cleaning robot collides with one obstacle on a preset linear path of the preset planning path in the “custom-character” shape, a body of the cleaning robot to rotate by a preset angle, so as to move the cleaning robot to an uncleaned linear path having a preset distance from a preset linear path section by adjusting a current advancing direction, and the uncleaned linear path belongs to the preset planning path in the “custom-character” shape and is parallel to the preset linear path, the preset distance is a preset multiple of a spacing distance between two adjacent parallel linear paths of the preset planning path in the “custom-character” shape, the preset multiple is related to a size of the obstacle currently in collision with the cleaning robot, and the cleaning robot conducts cleaning operations in a process of moving from the preset linear path to the uncleaned linear path spaced from the preset linear path by the preset distance.


Optionally, in a process of controlling the body of the cleaning robot to rotate by the preset angle, under a condition that the cleaning robot is detected to collide with one obstacle, the cleaning robot is controlled to travel along an edge of the obstacle until reaching the uncleaned linear path having the preset distance from the preset linear path, so as to keep cleaning planned in the “custom-character” shape, without completely bypassing the obstacle.


Optionally, in a process of controlling the cleaning robot to move from a preset starting point position to the preset linear path, under a condition that the obstacle collision is detected, the cleaning robot is controlled to search out other uncleaned linear paths of the preset planning path in the “custom-character” shape, so that the cleaning robot continuously conducts cleaning according to uncleaned paths searched out, so as to avoid the obstacle detected before searching, and the preset starting point position is located outside the preset linear path.





BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 is a flowchart of a method for controlling cleaning based on dense obstacles disclosed in an embodiment of the present disclosure.



FIG. 2 is a distribution diagram of obstacles marked in a region to be cleaned as disclosed in an embodiment of the present disclosure.



FIG. 3 is a schematic diagram showing framing of grids of obstacles by movement of positioning rectangular frames in 8 arrow directions in the region to be cleaned in FIG. 2.





DETAILED DESCRIPTION OF THE EMBODIMENTS

The technical solutions in embodiments of the present disclosure will be described in detail below with reference to the drawings in the embodiments of the present disclosure. In the disclosure, orientations or positional relations indicated by the terms “upper”, “lower”, “inside”, “middle”, “outside”, “front”, “rear”, etc. are based on the orientations or positional relations shown in the accompanying drawings. The terms are mainly for better description of the disclosure and the embodiments, rather than limiting that an apparatus, an element or a component referred to must have a particular orientation or be constructed and operated in a particular orientation.


In addition, some of the terms can be used to indicate the orientations or positional relations, and can also be used to indicate other meanings. For example, the term “upper” can also be used to indicate some attachment or connection relation in some cases. For those of ordinary skill in the art, the specific meanings of the terms in the disclosure can be understood according to specific cases.


An embodiment of the present disclosure discloses a method for controlling cleaning based on dense obstacles. Through obstacle collisions and obstacle-bypassing traveling, regions around the dense obstacles are traversed and cleaned in an obstacle bypassing manner, so that only a few resources (including hardware and software resources) are required to control a cleaning robot to conduct cleaning in narrow passable regions among chair feet and table feet, so as to avoid missing cleaning of gap regions among the dense obstacles. As shown in FIG. 1, the method for controlling cleaning specifically includes:


Step 1, dense obstacle points are marked according to a number feature of grids of obstacles framed by a sliding rectangular frame which is preset in a grid map, and then step 2 is executed. Preferably, the grids of the obstacles on the grid map are marked in advance by planning to clean a region to be cleaned by the cleaning robot, the region to be cleaned includes grids of continuously distributed obstacles and grids of obstacles distributed at intervals, the grids of the obstacles distributed at intervals include grids of densely distributed obstacles, and an identification standard of the grids of the densely distributed obstacles is established based on the number of the grids of the corresponding obstacles distributed at intervals movably framed by the sliding rectangular frame which is preset.


Step 2, according to the dense obstacle points marked in the grid map, navigation paths of which an end point position is corresponding to one dense obstacle point and which does not pass grids of other obstacles are planned, and then step 3 is executed. step 2 can be the following step that according to the dense obstacle points marked in the grid map, the navigation path of which the end point position is corresponding to the dense obstacle point and which does not pass the grids of other obstacles is planned in the region to be cleaned. It should be noted that the normally planned navigation path cannot pass the grids of the obstacles without deviation of the map, and the end point position of the navigation path is the dense obstacle point.


Step 3, before the cleaning robot is navigated to an actual position corresponding to the dense obstacle point to be cleaned according to the navigation path planned in step 2, whether there is an obstacle collision is judged, and if so, the cleaning robot is controlled to travel a circle around an obstacle currently in collision, after the cleaning robot completes traveling the circle around the obstacle currently in collision, covering and cleaning of an edge region of a contour of the obstacle currently in collision are realized, the obstacle is marked as an obstacle-cleaned state, and then step 4 is executed; and if not so, step 4 is directly executed. It should be noted that the cleaning robot keeps conducting cleaning operations while traveling around the obstacle currently in collision. The navigation path planned in step 2 cannot pass the grids of other obstacles without deviation of the map, and the end point position of the navigation path is the dense obstacle point to be cleaned.


It should be noted that sensors for detecting collisions include, but are not limited to, an infrared sensor, an ultrasonic sensor or a physical collision apparatus. The dense obstacle point to be cleaned is selected from the dense obstacle points marked in step 1 and used as a target position to be cleaned.


Step 4, when the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, whether there is a collision with the obstacle at the dense obstacle point to be cleaned is judged, and if so, the cleaning robot is controlled to travel the circle around the obstacle at the dense obstacle point to be cleaned, after the cleaning robot completes traveling the circle around the obstacle at the dense obstacle point to be cleaned, covering and cleaning of a region around the actual position corresponding to the dense obstacle point to be cleaned are realized, the dense obstacle point to be cleaned is marked as the obstacle-cleaned state, and then step 5 is executed; and if not so, step 5 is directly executed. It should be noted that the cleaning robot keeps conducting cleaning operations while traveling around the obstacle at the dense obstacle point to be cleaned.


The previous steps achieve that: in a process of navigating the cleaning robot to the actual position corresponding to each of the dense obstacle points according to the navigation path planned in step 2 (that is, before navigating and moving the cleaning robot to the actual position corresponding to the dense obstacle point and exactly navigating and moving the cleaning robot to the actual position corresponding to the dense obstacle point), the cleaning robot is controlled to travel the circle around the obstacle currently in collision according to the obstacle collision detected by the cleaning robot, and a cleaning state of the grid corresponding to the obstacle currently in collision is marked. Compared with the prior art, in the embodiment, obstacle-bypassing traveling modes of the cleaning robot before and when reaching the actual position corresponding to the dense obstacle point are planned, and obstacle influence of a map drift error on actual navigation of the cleaning robot is avoided, so that the cleaning robot is navigated to the actual position corresponding to the dense obstacle point according to the navigation path planned according to the map, and the situation that the navigation path that does not pass the grid of the obstacle becomes the navigation path that actually covers the obstacle due to a map drift is reduced. It should be noted that the navigation path normally planned in step 2 cannot pass the grid of the obstacle without deviation of the map, and the end point position of the navigation path is the dense obstacle point. Then, the cleaning robot is controlled to complete cleaning narrow gap positions among different dense obstacle points and a narrow region around a currently reaching dense obstacle point, so as to avoid missing cleaning of a distribution region of the dense obstacles.


Step 5, after the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, whether the cleaning robot directly passes the actual position corresponding to the dense obstacle point to be cleaned is judged, and if so, the dense obstacle point to be cleaned is marked as an area-cleaned state, that is, the cleaning robot reaches an actual position occupied by the obstacle corresponding to the dense obstacle point to be cleaned along the navigation path planned in step 2, which indicates that there is no obstacle at the actual position corresponding to the dense obstacle point to be cleaned, the map has a positioning mark error, which needs to be eliminated, but the cleaning robot still traverses and cleans the actual position corresponding to the dense obstacle point to be cleaned, so in the preferred embodiment, the grid that is marked as a dense obstacle point but does not meet the actual position in the grid map is marked as the area-cleaned state, thereby preventing the cleaning robot from cleaning and traversing the position again and avoiding influence of grid map errors, and then step 6 is executed; and if not so, step 6 is directly executed. Thereby completing covering and cleaning of a distribution region of the marked dense obstacles.


Step 6, whether all the dense obstacle points marked in step 1 are marked as the obstacle-cleaned state or the area-cleaned state correspondingly is judged, that is, whether the cleaning robot traverses all the dense obstacle points marked once while being navigated along the navigation path planned in step 2 and cleaning states of the grids corresponding to the obstacles are marked correspondingly is judged, if so, step 7 is executed, and if not so, step 3 is returned to and step 3-step 5 are conducted repeatedly until all the dense obstacle points marked in step 1 are cleaned, traversed and marked.


Step 7, the cleaning robot is controlled to be navigated to an uncleaned region, then step 1 is returned to, so as to mark new dense obstacle points, and the previous steps are repeated until the cleaning robot traverses all of the regions corresponding to the grid map. Specifically, with step 1-step 7 are conducted, after the cleaning robot can traverse all the dense obstacle points which are marked in a region to be cleaned along the navigation path planned in step 2, the cleaning robot is controlled to be moved to a non-traversed region, then step 1 is returned to, so as to mark the new dense obstacle points, and the previous steps are repeated until the cleaning robot traverses all of the regions corresponding to the grid map, thereby completing covering and cleaning of a distribution region of all existing dense obstacles. Combined with the said technical solution, covering and cleaning of empty regions in a region to be cleaned and gap regions among the dense obstacle points marked in the region to be cleaned are completed.


Compared with the prior art, in step 1-step 7, position distribution information of the dense obstacles is acquired through obstacle collisions and obstacle-bypassing traveling, and a laser sensor is not required to participate in line scanning and positioning of a dense obstacle group, which saves computing resources compared with using the laser sensor to directly scan and mark dense obstacle points in the map, so that only a few running memory resources (including the hardware and the software resources) are required to control a sweeping robot to clean the narrow passable regions among the chair feet and the table feet, so as to avoid missing cleaning of the gap regions among the dense obstacles.


As an embodiment, a process of controlling the cleaning robot to navigate and move to the actual position corresponding to the dense obstacle point to be cleaned according to a first preset navigation path includes before the cleaning robot is moved to the actual position corresponding to the dense obstacle point to be cleaned according to the first preset navigation path and when the cleaning robot is moved to the actual position corresponding to the dense obstacle point to be cleaned according to the first preset navigation path, and it is necessary to keep detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned in real time. The navigation paths planned in step 2 include the first preset navigation path and a second preset navigation path.


Step 3 further includes:


Step 31, before the cleaning robot is moved to the actual position corresponding to the dense obstacle point to be cleaned according to the first preset navigation path, the cleaning robot is controlled to start to travel the circle around the obstacle currently in collision under the condition that the collision with the obstacle is detected by the cleaning robot (which is not the obstacle at the dense obstacle point to be cleaned), meanwhile, whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned is kept being detected, and then step 32 is executed. It should be noted that sensors for detecting collisions include, but are not limited to, an infrared sensor, an ultrasonic sensor or a physical collision apparatus. The dense obstacle point to be cleaned is selected from the dense obstacle points marked in step 1 and used as a target position to be cleaned.


Preferably, in step 31, the method of detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned includes: it is determined that the cleaning robot is navigated (moved) to the actual position corresponding to the dense obstacle point to be cleaned under a condition that a distance between a current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is less than a quarter of a diameter of a body of the cleaning robot, and it is determined that the cleaning robot is not navigated (is not moved) to the actual position corresponding to the dense obstacle point to be cleaned under the condition that the distance between the current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is not less than the quarter of the diameter of the body of the cleaning robot. So that influence of errors such as a map drift is avoided, and robustness of obstacle-bypassing determination is improved, thereby improving precision of navigation and positioning of the cleaning robot. The dense obstacle point to be cleaned is a pre-configured dense obstacle point for cleaning of the cleaning robot.


Step 32, step 33 is executed under a condition that the cleaning robot is detected not to be navigated to the actual position corresponding to the dense obstacle point to be cleaned when the cleaning robot completes traveling a circle around the obstacle currently in collision. In a process that the cleaning robot is navigated and moved to the actual position corresponding to the dense obstacle point to be cleaned according to the first preset navigation path, when the cleaning robot completes traveling a circle around the same obstacle (which is the obstacle in collision detected in step 3), whether the cleaning robot is moved to the actual position corresponding to the dense obstacle point to be cleaned is detected, which indicates that whether the cleaning robot is moved to a region around a contour of the obstacle at the dense obstacle point to be cleaned is detected.


In step 32, a judgment method for determining that the cleaning robot completes traveling the circle around the obstacle currently in collision includes two embodiments. Specifically, one embodiment includes: a collision position of the cleaning robot and the obstacle is acquired before the cleaning robot is controlled to travel the circle around the obstacle; and then the cleaning robot is controlled to start to travel around the obstacle from the collision position, whether a rotation angle of the cleaning robot is larger than or equal to 360 degrees and whether a distance between the current position of the cleaning robot and the collision position is less than the quarter of the diameter of the body of the cleaning robot are determined in real time, if so, it is determined that the cleaning robot completes traveling the circle around the obstacle, and if not so, it is determined that the cleaning robot does not complete traveling the circle around the obstacle. For example, when the cleaning robot is moved to the chair feet and collides with the chair feet, because a distance between the chair feet is less than the diameter of the body of the cleaning robot, the cleaning robot cannot completely travel the circle around a current chair in collision. Compared with the prior art, in the embodiment, a collision point of the cleaning robot and the obstacle is taken as an obstacle-bypassing starting point, and whether the cleaning robot completes traveling the circle around the obstacle is determined according to the rotation angle of the current position of the cleaning robot relative to the obstacle-bypassing starting point and a linear distance between the current position of the cleaning robot and the obstacle-bypassing starting point, so that influence of errors such as a map drift is avoided, and robustness of obstacle-bypassing determination is improved.


Another embodiment includes: a collision position of the cleaning robot and the obstacle is acquired before the cleaning robot is controlled to travel the circle around the obstacle; and then the cleaning robot is controlled to start to travel around the obstacle from the collision position, whether a rotation angle of the cleaning robot is larger than or equal to 400 degrees is determined in real time, if so, it is determined that the cleaning robot completes traveling the circle around the obstacle, and if not so, it is determined that the cleaning robot does not complete traveling the circle around the obstacle. In the embodiment, redundancy of 40 degrees of the rotation angle is provided for determining whether the cleaning robot completes traveling the circle around the obstacle, thereby improving determination precision.


Step 33, whether a number of times of executing step 32 reaches 3 is judged, if so, the dense obstacle point to be cleaned is marked as the obstacle-cleaned state, and if not so, step 34 is executed. Specifically, under a condition that the cleaning robot cannot reach a same dense obstacle point to be cleaned by continuously changing the navigation path twice, a search for the actual position (a physical position in a cleaning work region) corresponding to the dense obstacle point to be cleaned can be abandoned by the cleaning robot, but in a process of searching for an actual physical position corresponding to the dense obstacle point three consecutive times, the cleaning robot can complete covering and cleaning of the region around the actual position corresponding to the dense obstacle point to be cleaned. For example, when moving to a region around the chair feet, the cleaning robot collides with other obstacles, because the distance between the chair feet is less than the diameter of the body of the cleaning robot, the cleaning robot is not moved to a gap region between the chair feet in a process of traveling the circle around the obstacle currently in collision, but avoids the gap region between the chair feet. A position passed by the cleaning robot in an obstacle-bypassing traveling process is relatively close to the chair feet, and finally the cleaning robot failed to search for an actual position corresponding to the dense obstacle point of the chair feet through three consecutive times of navigations, but the cleaning robot completes covering and cleaning of the gap region between the chair feet in a navigation and obstacle-bypassing process. The method is suitable for navigation and cleaning in more obstacle distribution scenes. It should be noted that, in the embodiment, moving to the actual position corresponding to the dense obstacle point to be cleaned does not indicate reaching the actual position occupied by the obstacle corresponding to the dense obstacle point to be cleaned, but indicates reaching a pre-configured target position around the actual position corresponding to the dense obstacle point to be cleaned, so that the cleaning robot can clean and traverse a region around the contour of the obstacle corresponding to the dense obstacle point to be cleaned.


Step 34, the second preset navigation path is searched out from all of the navigation paths planned in step 2, where an end point grid position of the second preset navigation path is the dense obstacle point to be cleaned, and the second preset navigation path is different from the first preset navigation path, and then step 35 is executed. The first preset navigation path indicates a traversed navigation path currently; and the second preset navigation path indicates a navigation path to be traversed next time and belongs to a navigation path that has not been traversed. Therefore, from a direction of an overall path, the second preset navigation path is different from the first preset navigation path.


Step 35, the cleaning robot is controlled to be moved along the second preset navigation path searched out in step 34, then step 31 is returned to, so as to replace the first preset navigation path in step 31 with the second preset navigation path searched out in step 34, and step 31-step 34 are repeated until the number of times of executing step 32 is increased from 0 to 3, or whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned is detected.


Compared with the prior art, in step 31-step 35, in the embodiment, considering a positioning error between a pre-planned navigation path on the grid map and an actual environment, the dense obstacle point to be cleaned is searched for repeatedly along the pre-planned navigation path, and the region around the dense obstacle point to be cleaned is cleaned through at most three searches, so that the dense obstacle point to be cleaned is marked as the obstacle-cleaned state under the condition that the dense obstacle point cannot be reached three consecutive times, so as to adapt to navigation and cleaning in more obstacle distribution scenes.


Based on the embodiment, step 1 specifically includes:


Step 11, the cleaning robot is controlled to conduct cleaning in a region to be cleaned according to a preset planning path in a “custom-character” shape, the cleaning robot is controlled to mark a grid of the obstacle in the grid map created in real time without bypassing the obstacle when the cleaning robot detects the obstacle in a cleaning process, and then step 12 is executed. As shown in FIG. 2, the grids of the obstacles in the region to be cleaned include the grids of the obstacles distributed at intervals; the obstacles distributed at intervals at an upper left portion of a frame in FIG. 2 have small distances and are densely distributed obstacles described in the background art of the disclosure; and the obstacles distributed at intervals at a lower right portion of the frame in FIG. 2 have large distances and are scattered obstacles.


In the embodiment, the grids of the obstacles distributed at intervals are: grids of obstacles except grids of N obstacles distributed continuously in the grids of the obstacles marked in step 11. In the embodiment, the grids of N obstacles distributed continuously are marked as a cleaned and empty state on the grid map, so as to filter out the grids of N obstacles distributed continuously. N is a number of continuously distributed grids set according to a size of a pre-configured grid in the grid map and an actual size of an obstacle marked in the region to be cleaned. Preferably, the grids of N obstacles distributed continuously are used to indicate a wall, so that obstacles having long boundaries such as walls can be filtered out, where N is a preset wall grid number threshold and is used to indicate wall length information. The preset wall grid number threshold is set according to the size of the pre-configured grid in the grid map and the actual size of the obstacle marked in the region to be cleaned. For example, more than 10 continuously distributed obstacle points are indicated as a contour of an obstacle having a long boundary and a large size. Compared with the prior art, in the embodiment, a wall is distinguished from the dense obstacles, the situation that the cleaning robot repeatedly cleans a wall region by regarding the wall region as a dense obstacle region is avoided, and because there is no narrow passable region in the wall region, missing cleaning of the cleaning robot in the wall region is not prone to occurrence in a cleaning process according to the preset planning path in the “custom-character” shape.


In step 11, the method of controlling the cleaning robot to conduct cleaning in the region to be cleaned according to the preset planning path in the “custom-character” shape, without bypassing the obstacle when the cleaning robot detects the obstacle in the cleaning process includes:


the cleaning robot is controlled to travel along the preset planning path in the “custom-character” shape, when the cleaning robot collides with one obstacle on a preset linear path of the preset planning path in the “custom-character” shape, the body of the cleaning robot is controlled to rotate by a preset angle, then the cleaning robot is controlled to be moved according to an advancing direction after rotation until the cleaning robot generates a moving distance of a preset distance in a direction perpendicular to the preset linear path, so as to move the cleaning robot to an uncleaned linear path having a preset distance from a preset linear path section by adjusting a current advancing direction, so that the region around the contour of the obstacle is not completely cleaned, resulting in missing cleaning. In the embodiment, the uncleaned linear path belongs to the preset planning path in the “custom-character” shape and is parallel to the preset linear path, the preset distance is a preset multiple of a spacing distance between two adjacent parallel linear paths of the preset planning path in the “custom-character” shape, and the preset multiple is related to a size of the obstacle currently in collision with the cleaning robot. It should be noted that the cleaning robot conducts the cleaning operations in a process of moving from the preset linear path to the uncleaned linear path spaced from the preset linear path by the preset distance, so as to clean an empty region in the region to be cleaned, where there are no densely distributed obstacles in the empty region. The situation that missing cleaning occurs when a dense distribution region of obstacles is cleaned on the basis of not creating and identifying the dense obstacles and cleaning efficiency of the robot is reduced is avoided.


Preferably, in a process of controlling the body of the cleaning robot to rotate by the preset angle, under the condition that the cleaning robot is detected to collide with an obstacle, the cleaning robot is controlled to travel along an edge of the obstacle until reaching the uncleaned linear path that is parallel to the preset linear path and has the preset distance from the preset linear path, so as to keep normal cleaning in a “custom-character” shape, without completely bypassing the obstacle, so that the region around the contour of the obstacle is not completely cleaned, resulting in missing cleaning. The uncleaned linear path belongs to the preset planning path in a “custom-character” shape and is parallel to the preset linear path.


Therefore, every time the cleaning robot travels along the preset linear path of the preset planning path in the “custom-character” shape, under a condition that the collision obstacle is detected, the current advancing direction is changed by adjusting a real-time posture of the cleaning robot, so that the cleaning robot traverses a preset distance and is moved to the uncleaned linear path parallel to the preset linear path. The preset distance is a preset multiple of a spacing distance between two adjacent parallel linear paths of the preset planning path in the “custom-character” shape, and the preset multiple is related to the size of the obstacle currently in collision with the cleaning robot. Cleaning planned in the “custom-character” shape is kept, and the obstacle currently in collision is effectively avoided. Environmental adaptability of the cleaning robot during cleaning work in the “custom-character” shape is improved and working efficiency of the cleaning robot is ensured.


Preferably, in a process of controlling the cleaning robot to be moved from a preset starting point position to the preset linear path, that is, before cleaning is started according to the preset planning path in the “custom-character” shape, under a condition that the obstacle collision is detected, the cleaning robot is controlled to search out other uncleaned linear paths of the preset planning path in the “custom-character” shape, so that the cleaning robot continuously conducts cleaning according to uncleaned paths searched out, so as to avoid the obstacle detected before searching, and the new starting point position of the path in the “custom-character” shape is selected to start to conduct cleaning planned in the “custom-character” shape, and the preset starting point position is located outside the preset linear path. In the embodiment, before the cleaning robot starts to conduct the cleaning in the “custom-character” shape, the obstacle avoiding is completed by searching for an effective preset planning path in the “custom-character” shape, thereby improving the environmental adaptability of the cleaning robot during the cleaning work and ensuring the working efficiency of the cleaning robot.


Step 12, according to a number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame in a process that the sliding rectangular frame is moved in the grid map, a dense obstacle standard unit region is set on the grid map, a preset number of positioning rectangular frames having consistent sizes with the sliding rectangular frame are set for taking a center of the dense obstacle standard unit region as a creation starting point, and then the positioning rectangular frames are controlled to be moved, from the creation starting point, in a preset number of traversal directions on the grid map which are symmetrical with respect to the center of the creation starting point respectively; and then step 13 is executed. The sliding rectangular frame is set on the grid map created in real time.


Specifically, in step 12, the method of setting the dense obstacle standard unit region on the grid map includes: the sliding rectangular frame is controlled to move on the grid map. In the embodiment, the sliding rectangular frame is controlled to be moved from left to right by starting from an upper left corner of the grid map, meanwhile, the grids of the obstacles distributed at intervals framed by the sliding rectangular frame on the grid map are marked as an uncleaned state, and the number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame in real time is recorded in real time; and a rectangular region currently framed by the sliding rectangular frame is set as the dense obstacle standard unit region when the number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame is larger than or equal to a first density threshold, which is a rectangular frame A11 as shown in FIG. 2. The first density threshold is used to indicate a distribution density of the dense obstacle points in the grid map, and is enough to make gap regions between the obstacles distributed at intervals become cleaning-missed regions of the cleaning robot in a normal planned cleaning mode in the “custom-character” shape or cleaning-missed regions under the condition of positioning errors of the map. The technical solution also reflects narrowness of gaps among the grids of the obstacles.


Step 13, each of the positioning rectangular frames is controlled to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to a relation between a ratio of an area of a new region framed by each of the positioning rectangular frames after movement relative to that before movement to an area of a region framed by the positioning rectangular frame correspondingly before movement and a change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement, and the grids of the obstacles distributed at intervals framed by each of the positioning rectangular frames are marked as the dense obstacle points, and each of the positioning rectangular frames is configured to be moved once in the traversal direction correspondingly according to a unit traversal distance.


Specifically, in step 13, controlling each of the positioning rectangular frames to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to the relation between the ratio of the area of the new region framed by each of the positioning rectangular frames after movement relative to that before movement to the area of the region framed by the positioning rectangular frame correspondingly before movement and the change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement includes: every time one of the positioning rectangular frames is moved once in the traversal direction correspondingly by the unit traversal distance, whether a ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is larger than or equal to an area ratio of a region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement is judged, if so, the positioning rectangular frame is controlled to continuously move in a same traversal direction by the unit traversal distance, and if not so, the positioning rectangular frame is controlled to stop moving, and the area ratio of the region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement is a ratio of the area of the new region framed by the positioning rectangular frame after movement relative to that before movement to the area of the region framed by the same positioning rectangular frame before movement.


On the basis of establishing the dense obstacle standard unit region in the above embodiment, each of the positioning rectangular frames is controlled to be moved in the traversal direction correspondingly by the unit traversal distance, a distribution density of the grids of the obstacles is detected, and the number of grids framed by a fixed rectangular frame is used as feedback information of a density of obstacles in a unit area, so that a rational creation range of the dense obstacle region is determined, and the method has high efficiency, effectiveness and adaptability in region creation in a complex obstacle narrow environment.


Compared with the prior art, in step 11-step 13, on the basis that obstacle position information is known and a local region is actually cleaned, the rectangular frame is controlled to be moved in a specific traversal direction on the grid map by taking a creation center as a starting point, and grid information of obstacles satisfying a dense distribution requirement is acquired according to a corresponding relation between a change of the number of the grids of an obstacle framed by the rectangular frame before and after movement and an area of a newly covering region (that is, there are a corresponding number of grids of a corresponding number of obstacles satisfying the dense distribution requirement in a unit grid region), so that subsequent missing cleaning of the cleaning robot in the narrow passable regions among chair feet and table feet in the region to be cleaned is avoided. In addition, on the premise of ensuring precision of grid map information, the embodiment reduces a running memory space occupied by the sliding rectangular frame in the grid map, and saves computing resources compared with using a laser sensor to directly scan and mark dense obstacle points in the map, so as to be suitable for more positioning and navigation scenes.


After step 13 is conducted, the method further includes: step 14, when the preset number of positioning rectangular frames are determined to stop moving, that is, a ratio of the number of the grids of the obstacles distributed at intervals framed by the preset number of positioning rectangular frames after a corresponding movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frames before the corresponding movement is less than a ratio of the area of the new region covered by the same positioning rectangular frame after the corresponding movement to the area of the region framed by the same positioning rectangular frame before the corresponding movement, the grids corresponding to all marked dense obstacle points are combined to create the dense obstacle region. In the step, grid position information of obstacles, which can form the dense obstacle region, distributed at intervals is acquired, so that the cleaning robot can acquire the dense obstacle region formed by marks on the grid map.


As an embodiment, as shown in FIG. 3, the positioning rectangular frames can be set as square frames, and the preset number is 8. Preferably, a side length of the square frame in an actual region to be cleaned is 2 m. Therefore, in the embodiment, the traversal directions that are symmetrical about the center of the creation starting point respectively, as shown in FIG. 3, include: a rightward direction of a horizontal side length of a square frame configured as the dense obstacle standard unit region A11, a leftward direction of the horizontal side length of the square frame configured as the dense obstacle standard unit region A11, an upward direction of a longitudinal side length of the square frame configured as the dense obstacle standard unit region A11, a downward direction of the longitudinal side length of the square frame configured as the dense obstacle standard unit region A11, an upper left direction of a diagonal of the square frame configured as the dense obstacle standard unit region A11, a lower left direction of the diagonal of the square frame configured as the dense obstacle standard unit region A11, an upper right direction of the diagonal of the square frame configured as the dense obstacle standard unit region A11, and a lower right direction of the diagonal of the square frame configured as the dense obstacle standard unit region A11. Then, a diagonal intersection point of the square frame set as the dense obstacle standard unit region A11 is taken as a center and also as the creation starting point, a preset number of traversal directions are symmetrical about the center of the creation starting point, and the unit traversal distance is set to change with change of the traversal directions, so as to reduce computation complexity of an area and a ratio in step 13.


When the traversal directions actually used are the rightward direction of the horizontal side length of the square frame A11, the leftward direction of the horizontal side length of the square frame A11, the upward direction of the longitudinal side length of the square frame A11 and the downward direction of the longitudinal side length of the square frame A11, the unit traversal distance having a value that is half the side length of the square frame A11 is selected, 4 positioning rectangular frames consistent with the square frame A11 in size are set, the 4 positioning rectangular frames are controlled to be moved by a distance half the side length of the square frame A11 in the four traversal directions of the leftward direction of the horizontal side length, the rightward direction of the horizontal side length, the upward direction of the longitudinal side length and the downward direction of the longitudinal side length of the square frame A11 respectively, and after the 4 positioning rectangular frames are moved by the distance half the side length of the square frame A11, a newly covering region of each of the positioning rectangular frames accounts for half of a region covered by the square frame A11. In this case, under the condition that the number of the grids of the obstacles framed by the positioning rectangular frame is larger than or equal to half of the number of the grids of the obstacles framed by the square frame A11, the positioning rectangular frame is controlled to continuously be moved in the traversal direction correspondingly by the distance half the side length of the square frame A11, which indicates that the grids of the obstacles in the region currently framed by the positioning rectangular frame meet a distribution feature requirement of the dense obstacle points; and under the condition that the number of the grids of the obstacles framed by the positioning rectangular frame is less than half of the number of grids of obstacles framed by the square frame A11, the positioning rectangular frame is controlled to stop moving, which indicates that there are too few scattered grids of obstacles in the region currently framed by the positioning rectangular frame. It should be noted that the grids, for determining the number of the grids, of the obstacles in the embodiment are only the grids of the obstacles distributed at intervals.


When the traversal directions actually used are the upper left direction of the diagonal of the square frame A11, the lower left direction of the diagonal of the square frame A11, the upper right direction of the diagonal of the square frame A11, and the lower right direction of the diagonal of the square frame A11, the unit traversal distance having a value that is half the diagonal of the square frame A11 is selected, 4 positioning rectangular frames consistent with the square frame A11 in size are additionally set, the 4 positioning rectangular frames are controlled to be moved by a distance half the diagonal of the square frame A11 in the four traversal directions of the upper left direction of the diagonal, the lower left direction of the diagonal, the upper right direction of the diagonal, and the lower right direction of the diagonal of the square frame A11 respectively, and after the 4 positioning rectangular frames are moved, a newly covering region of each of the positioning rectangular frames accounts for three quarters of the region covered by the square frame A11. In this case, under the condition that the number of the grids of the obstacles framed by the positioning rectangular frame is larger than or equal to three quarters of the number of the grids of the obstacles framed by the square frame A11, the positioning rectangular frame is controlled to continuously be moved in the traversal direction correspondingly by the distance half the diagonal of the square frame A11; and under the condition that the number of the grids of the obstacles framed by the positioning rectangular frame is less than three quarters of the number of the grids of the obstacles framed by the square frame A11, the positioning rectangular frame is controlled to stop moving. It should be noted that grids, for determining the number of the grids, of the obstacles in the embodiment are only the grids of the obstacles distributed at intervals.


In conclusion, in the embodiment, computation complexity of moving paths of the positioning rectangular frames in the grid map and the number of the grids of the obstacles distributed at intervals framed in real time is reduced, and moving time of the positioning rectangular frames in 8 traversal directions is shortened.


Then, when all of the positioning rectangular frames are determined to stop moving, the grids of the obstacles framed during movement around with the creation starting point of the square frame A11 as the starting point are marked as the dense obstacle points, and the marked dense obstacle points form the dense obstacle region.


Finally, it should be noted that the above embodiments are merely intended for description of the technical solutions of the present disclosure rather than limitation of the present disclosure; and although the present disclosure is described in detail with reference to the preferred embodiments, those of ordinary skill in the art should understand that they can still make modifications to the specific embodiments of the present disclosure or equivalent replacements to some of technical features without departing from the spirit of the technical solutions of the present disclosure, all of which should fall within the scope of the technical solutions claimed by the present disclosure.

Claims
  • 1. A method for controlling cleaning based on dense obstacles, wherein the method for controlling cleaning comprising: step 1, marking dense obstacle points according to a number feature of grids of obstacles framed by a sliding rectangular frame which is preset in a grid map, and then proceeding to step 2; the step 2, planning, according to the dense obstacle points marked in the grid map, navigation paths of which an end point position is corresponding to one dense obstacle point and which does not pass grids of other obstacles, and then proceeding to step 3; and the step 3, controlling, according to an obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling a circle around an obstacle currently in collision in a process of navigating the cleaning robot to an actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking a cleaning state of a grid corresponding to the obstacle currently in collision, wherein the cleaning robot keeps conducting cleaning operations while traveling around the obstacle currently in collision.
  • 2. The method for controlling cleaning according to claim 1, wherein the method for controlling cleaning further comprising: step 4, controlling, after the cleaning robot is navigated to traverse all of the dense obstacle points which are marked according to the navigation paths planned in the step 2, the cleaning robot to be navigated to an uncleaned region, then returning to the step 1 to mark new dense obstacle points, and repeating previous steps until the cleaning robot traverses all regions corresponding to the grid map.
  • 3. The method for controlling cleaning according to claim 2, wherein in the step 3, controlling, according to the obstacle collision detected by the cleaning robot, the cleaning robot to complete traveling the circle around the obstacle currently in collision in the process of navigating the cleaning robot to the actual position corresponding to each of the dense obstacle points according to the navigation paths planned in the step 2, and marking the cleaning state of the grid corresponding to the obstacle currently in collision comprises: controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to the navigation paths planned in the step 2, the cleaning robot to travel the circle around the obstacle currently in collision under a condition that the obstacle collision is detected, and marking, after the cleaning robot completes traveling the circle around the obstacle currently in collision, the obstacle as an obstacle-cleaned state; and controlling, when the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the cleaning robot to travel a circle around an obstacle at the dense obstacle point to be cleaned under a condition that a collision with the obstacle at the dense obstacle point to be cleaned is detected, and marking, after the cleaning robot completes traveling a circle around the obstacle at the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as the obstacle-cleaned state, wherein the dense obstacle point to be cleaned is a pre-configured dense obstacle point for cleaning.
  • 4. The method for controlling cleaning according to claim 3, wherein the step 3 further comprises: marking, after the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, the dense obstacle point to be cleaned as an area-cleaned state under a condition that the cleaning robot is detected to directly pass the actual position corresponding to the dense obstacle point to be cleaned, wherein the dense obstacle point to be cleaned is a pre-selected target obstacle to be cleaned.
  • 5. The method for controlling cleaning according to claim 4, wherein when all the dense obstacle points marked in the step 1 are marked as the obstacle-cleaned state or area-cleaned state correspondingly, the step 4 is executed.
  • 6. The method for controlling cleaning according to claim 5, wherein the step 3 further comprises: step 31, controlling, before the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned according to a first preset navigation path, the cleaning robot to travel a circle around an obstacle under a condition that a collision with the obstacle is detected, simultaneously keeping detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned, and then proceeding to step 32; the step 32, proceeding to step 33 under a condition that the cleaning robot is detected not to be navigated to the actual position corresponding to the dense obstacle point to be cleaned when the cleaning robot completes traveling the circle around the obstacle which is same; the step 33, determining whether a number of times of executing the step 32 reaches 3, if the number of times of executing the step 32 reaches 3, marking the dense obstacle point to be cleaned as the obstacle-cleaned state, and if the number of times of executing the step 32 does not reach 3, proceeding to step 34; the step 34, searching out a second preset navigation path from all of the navigation paths planned in the step 2, wherein an end point grid position of the second preset navigation path is the dense obstacle point to be cleaned, and the second preset navigation path is different from the first preset navigation path, and then proceeding to step 35; and the step 35, controlling the cleaning robot to move along the second preset navigation path searched out in the step 34, and repeating the step 31 to the step 34 until the cleaning robot is detected to be navigated to the actual position corresponding to the dense obstacle point to be cleaned or the number of times of executing the step 32 is determined to reach 3, wherein after returning from the step 35 to the step 31, the first preset navigation path in the step 31 is replaced with the second preset navigation path in the step 34, and the navigation paths planned in the step 2 comprise the first preset navigation path and the second preset navigation path.
  • 7. The method for controlling cleaning according to claim 6, wherein detecting whether the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned comprises: determining that the cleaning robot is navigated to the actual position corresponding to the dense obstacle point to be cleaned under a condition that a distance between a current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is less than a quarter of a diameter of a body of the cleaning robot, and determining that the cleaning robot is not navigated to the actual position corresponding to the dense obstacle point to be cleaned under the condition that the distance between the current position of the cleaning robot and the actual position corresponding to the dense obstacle point to be cleaned is not less than the quarter of the diameter of the body of the cleaning robot.
  • 8. The method for controlling cleaning according to claim 1, wherein judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision comprises: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 360 degrees and whether a distance between a current position of the cleaning robot and the collision position is less than a quarter of a diameter of a body of the cleaning robot, if the rotation angle of the cleaning robot is larger than or equal to 360 degrees and the distance between the current position of the cleaning robot and the collision position is less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 360 degrees, or the distance between the current position of the cleaning robot and the collision position is not less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.
  • 9. The method for controlling cleaning according to claim 1, wherein judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision comprises: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 400 degrees, if the rotation angle of the cleaning robot is larger than or equal to 400 degrees, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 400 degrees, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.
  • 10. The method for controlling cleaning according to claim 1, wherein the step 1 specifically comprises: step 11, controlling the cleaning robot to conduct cleaning in a region to be cleaned according to a preset planning path in a “” shape, and controlling the cleaning robot to mark the grid of the obstacle in the grid map created in real time without bypassing the obstacle when the cleaning robot detects the obstacle in a cleaning process, wherein the grids of the obstacles comprise grids of obstacles distributed at intervals;step 12, setting, according to a number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame in a process that the sliding rectangular frame is moved in the grid map, a dense obstacle standard unit region on the grid map, and then setting a preset number of positioning rectangular frames having consistent sizes with the sliding rectangular frame for taking a center of the dense obstacle standard unit region as a creation starting point, and then controlling the positioning rectangular frames to move, from the creation starting point, in a preset number of traversal directions on the grid map which are symmetrical about the center of the creation starting point respectively;and step 13, controlling each of the positioning rectangular frames to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to a relation between a ratio of an area of a new region framed by each of the positioning rectangular frames after movement relative to that before movement to an area of a region framed by the positioning rectangular frame correspondingly before movement and a change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement, and marking the grids of the obstacles distributed at intervals framed by each of the positioning rectangular frames as the dense obstacle points, wherein each of the positioning rectangular frames is configured to be moved once in the traversal direction correspondingly according to a unit traversal distance.
  • 11. The method for controlling cleaning according to claim 10, wherein the step 1 further comprises: step 14, combining, when the preset number of positioning rectangular frames stop moving, the grids corresponding to all of the dense obstacle points which are marked to create a dense obstacle region.
  • 12. The method for controlling cleaning according to claim 11, wherein the grids of the obstacles distributed at intervals are grids of obstacles except grids of N obstacles distributed continuously in the grids of the obstacles marked in the step 11, wherein N is a number of continuously distributed grids set according to a pre-configured grid size in the grid map and an actual size of the obstacle marked in the region to be cleaned.
  • 13. The method for controlling cleaning according to claim 12, wherein in the step 12, setting the dense obstacle standard unit region on the grid map comprises: controlling the sliding rectangular frame to move on the grid map, marking the grids of the obstacles distributed at intervals framed by the sliding rectangular frame on the grid map as an uncleaned state, and recording the number of the grids of the obstacles framed and distributed at intervals in real time; and setting a rectangular region currently framed by the sliding rectangular frame as the dense obstacle standard unit region when the number of the grids of the obstacles distributed at intervals framed by the sliding rectangular frame is larger than or equal to a first density threshold, wherein the first density threshold is used to indicate a distribution density of the dense obstacle points in the grid map and is enough to make gap regions between the obstacles distributed at intervals become cleaning-missed regions of the cleaning robot.
  • 14. The method for controlling cleaning according to claim 13, wherein in the step 13, controlling each of the positioning rectangular frames to continuously move in the traversal direction correspondingly or not continuously move in the traversal direction correspondingly according to the relation between the ratio of the area of the new region framed by each of the positioning rectangular frames after movement relative to that before movement to the area of the region framed by the positioning rectangular frame correspondingly before movement and the change of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame which is same before and after movement comprises: judging, every time one of the positioning rectangular frames is moved once in the traversal direction correspondingly by the unit traversal distance, whether a ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is larger than or equal to an area ratio of a region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement, if the ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is larger than or equal to the area ratio of the region, controlling the positioning rectangular frame to continuously to move in a same traversal direction by the unit traversal distance, and if the ratio of the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame after movement to the number of the grids of the obstacles distributed at intervals framed by the positioning rectangular frame before movement is not larger than or equal to the area ratio of the region, controlling the positioning rectangular frame to stop moving,wherein the area ratio of the region, which does not overlap the positioning rectangular frame before movement, in the positioning rectangular frame after movement is a ratio of the area of the new region framed by the positioning rectangular frame after movement relative to that before movement to the area of the region framed by the positioning rectangular frame which is same before movement.
  • 15. The method for controlling cleaning according to claim 12, wherein the positioning rectangular frames are square frames, and the preset number is 8; and the traversal directions which are symmetrical about the center of the creation starting point respectively comprise: a rightward direction of a horizontal side length of a square frame configured as the dense obstacle standard unit region, a leftward direction of the horizontal side length of the square frame configured as the dense obstacle standard unit region, an upward direction of a longitudinal side length of the square frame configured as the dense obstacle standard unit region, a downward direction of the longitudinal side length of the square frame configured as the dense obstacle standard unit region, an upper left direction of a diagonal of the square frame configured as the dense obstacle standard unit region, a lower left direction of the diagonal of the square frame configured as the dense obstacle standard unit region, an upper right direction of the diagonal of the square frame configured as the dense obstacle standard unit region, and a lower right direction of the diagonal of the square frame configured as the dense obstacle standard unit region.
  • 16. The method for controlling cleaning according to claim 12, wherein in the step 11, controlling the cleaning robot to conduct cleaning in the region to be cleaned according to the preset planning path in the “” shape without bypassing the obstacle when the cleaning robot detects the obstacle in the cleaning process comprises: controlling the cleaning robot to travel along the preset planning path in the “” shape, and controlling, when the cleaning robot collides with one obstacle on a preset linear path of the preset planning path in the “” shape, a body of the cleaning robot to rotate by a preset angle, so as to move the cleaning robot to an uncleaned linear path having a preset distance from a preset linear path section by adjusting a current advancing direction, wherein the uncleaned linear path belongs to the preset planning path in the “” shape and is parallel to the preset linear path, the preset distance is a preset multiple of a spacing distance between two adjacent parallel linear paths of the preset planning path in the “” shape, the preset multiple is related to a size of the obstacle currently in collision with the cleaning robot,wherein the cleaning robot conducts cleaning operations in a process of moving from the preset linear path to the uncleaned linear path spaced from the preset linear path by the preset distance.
  • 17. The method for controlling cleaning according to claim 16, wherein in a process of controlling the body of the cleaning robot to rotate by the preset angle, under a condition that the cleaning robot is detected to collide with one obstacle, the cleaning robot is controlled to travel along an edge of the obstacle until reaching the uncleaned linear path having the preset distance from the preset linear path, so as to keep cleaning planned in the “” shape, without completely bypassing the obstacle.
  • 18. The method for controlling cleaning according to claim 16, wherein in a process of controlling the cleaning robot to move from a preset starting point position to the preset linear path, under a condition that the obstacle collision is detected, the cleaning robot is controlled to search out other uncleaned linear paths of the preset planning path in the “” shape, so that the cleaning robot continuously conducts cleaning according to uncleaned paths searched out, so as to avoid the obstacle detected before searching, wherein the preset starting point position is located outside the preset linear path.
  • 19. The method for controlling cleaning according to claim 2, wherein judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision comprises: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 360 degrees and whether a distance between a current position of the cleaning robot and the collision position is less than a quarter of a diameter of a body of the cleaning robot, if the rotation angle of the cleaning robot is larger than or equal to 360 degrees and the distance between the current position of the cleaning robot and the collision position is less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 360 degrees, or the distance between the current position of the cleaning robot and the collision position is not less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.
  • 20. The method for controlling cleaning according to claim 3, wherein judging whether the cleaning robot completes traveling the circle around the obstacle currently in collision comprises: acquiring a collision position of the cleaning robot and the obstacle before controlling the cleaning robot to travel the circle around the obstacle; and then controlling the cleaning robot to start to travel around the obstacle from the collision position, determining whether a rotation angle of the cleaning robot is larger than or equal to 360 degrees and whether a distance between a current position of the cleaning robot and the collision position is less than a quarter of a diameter of a body of the cleaning robot, if the rotation angle of the cleaning robot is larger than or equal to 360 degrees and the distance between the current position of the cleaning robot and the collision position is less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot completes traveling the circle around the obstacle currently in collision, and if the rotation angle of the cleaning robot is not larger than or equal to 360 degrees, or the distance between the current position of the cleaning robot and the collision position is not less than the quarter of the diameter of the body of the cleaning robot, determining that the cleaning robot does not complete traveling the circle around the obstacle currently in collision.
Priority Claims (1)
Number Date Country Kind
202011041176.3 Sep 2020 CN national
PCT Information
Filing Document Filing Date Country Kind
PCT/CN2021/098143 6/3/2021 WO