Cleaning robot full-coverage path planning method and system
Through edge cleaning and multi-sensor fusion technology, the map is built and the cleaning path is dynamically adjusted, which solves the problem of difficulty in balancing the cleaning coverage and efficiency of cleaning robots, and achieves efficient and comprehensive cleaning and good obstacle avoidance capabilities.
Patent Information
- Application Number
- CN202411576217.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-06
- Publication Date
- 2025-03-14
AI Technical Summary
Existing cleaning robots are difficult to balance the cleaning coverage and efficiency, insufficient flexibility in path planning and limited obstacle avoidance capabilities.
By cleaning along the edges and recording the driving trajectory, a robot trajectory grid is formed, expanding and constructing a map along the edges, determining the direction of the bow sweep, searching the path points of the bow sweep, dynamically adjusting the cleaning path, combining multi-sensor fusion technology to build a map, and perform obstacle avoidance and re-planning operations.
Efficient and comprehensive cleaning has been achieved, cleaning coverage and efficiency have been improved, path planning flexibility and obstacle avoidance capabilities have been enhanced, and user experience has been improved.
Smart Images

Figure CN119618215A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of cleaning robots, and in particular to a method and system for full-coverage path planning of a cleaning robot. Background Art
[0002] In recent years, the development of cleaning robots has been in full swing, including sweeping robots, commercial cleaning robots, and lawn mowing robots, with various functions and forms emerging one after another. Full coverage path planning can enable robots to have more efficient cleaning efficiency and higher cleaning coverage, and has become one of the core technologies of cleaning robots. The full coverage path search algorithm based on raster search marks has a high cleaning coverage rate, but low cleaning efficiency; some methods based on edge map search paths have high cleaning efficiency, but insufficient coverage, and it is difficult to achieve a balance between cleaning coverage and efficiency, so that users have a better user experience.
[0003] In addition, when existing cleaning robots encounter obstacles, they often adopt simple obstacle avoidance strategies, such as driving around obstacles or stopping cleaning. Although this can avoid collisions between robots and obstacles, it often fails to effectively clean the area around the obstacles, resulting in blind spots. At the same time, traditional path planning methods often lack flexibility and adaptability, and cannot be dynamically adjusted and optimized according to the actual situation during the cleaning process.
[0004] Therefore, an efficient and comprehensive cleaning robot path planning method is needed that can be applicable to complex and changeable indoor environments, ensure the comprehensiveness and efficiency of cleaning, and at the same time have good obstacle avoidance and dynamic adjustment capabilities, thereby improving the user experience. Summary of the invention
[0005] The purpose of the present invention is to provide a full-coverage path planning method and system for a cleaning robot, which is used to solve the problems in the prior art that it is difficult to balance cleaning coverage and efficiency, the path planning flexibility is insufficient, and the obstacle avoidance ability is limited.
[0006] The present invention solves the above problems through the following technical solutions:
[0007] A cleaning robot full coverage path planning method is applied to the cleaning robot, and the following steps are performed according to the obtained cleaning partition instructions, including:
[0008] According to the acquired cleaning partitioning instructions, the robot performs edge cleaning and records the map grid where the edge driving track is located to form the edge track grid of the robot until the edge cleaning is completed;
[0009] Expanding the robot's edge track grid to construct an edge map of the robot to determine the robot's bow sweep direction;
[0010] Searching for bow-sweep path points according to the bow-sweep direction of the robot, pairing all bow-sweep path points in pairs after eliminating invalid path points, and determining a complete set of bow-sweep path points in the area enclosed by the edge map according to a preset cleaning interval;
[0011] Acquire the current posture of the robot, select the first bow sweep path point as the current bow sweep starting point according to a preset rule, determine the main sweep direction and the supplementary sweep direction according to the position of the current bow sweep starting point in the edge map, select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, take the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and sweep the current bow sweep path;
[0012] After the current bow sweep path is cleaned, the uncleaned path points in the supplementary sweep direction and the main sweep direction are detected in sequence, and a third bow sweep path point is selected as a new bow sweep starting point based on the detection result and a preset rule;
[0013] Perform obstacle avoidance replanning operations based on obstacle information collected during driving;
[0014] After returning to the completion of the current bow sweep path cleaning, the uncleaved path points in the supplementary sweep direction and the main sweep direction are detected in turn, and the third bow sweep path point is selected as the new bow sweep starting point step based on the detection results and preset rules for iterative execution until all bow sweep path points are visited and the cleaning partition cleaning is completed.
[0015] Furthermore, the obstacle avoidance re-planning operation is performed according to the obstacle information collected during driving, including:
[0016] When an obstacle is detected during driving, the vehicle will circle around the obstacle and record the driving trajectory to the edge map and expand it to form a new edge map;
[0017] Searching for new bow-sweep path points based on the new edge map, and adding valid path points in the new bow-sweep path points to the bow-sweep path point set;
[0018] Search for a new bow sweep starting point based on the current posture.
[0019] Furthermore, the map is constructed using radar, camera and obstacle avoidance sensor, and each map pixel contains three types of information: free, occupied and unknown.
[0020] Furthermore, the edge cleaning includes: the robot relies on positioning and edge sensors to travel along the partition line or obstacles within the partition until it returns to the starting position.
[0021] Furthermore, the bow sweep direction is determined according to the size of the map along the edge, with the long side direction of the map being the main direction of the bow sweep.
[0022] Furthermore, the preset cleaning interval is the interval between two bow-sweeping paths that ensures that the planned path meets the cleaning coverage requirement.
[0023] Furthermore, the invalid path point is a point that is not surrounded by the edge trajectory. The method for determining whether it is an invalid path point includes: making a ray in any direction through the path point, and if the number of intersections with the edge trajectory is an even number, it is an invalid path point.
[0024] Furthermore, the main cleaning direction is determined based on the positional relationship of the starting point in the path point set. If the starting point is biased to the left, the main cleaning direction is right; and the supplementary cleaning direction is the opposite direction of the main cleaning direction.
[0025] A full coverage path planning system for a cleaning robot, comprising:
[0026] A map management module, used to expand the robot's edge track grid and construct a robot edge map to determine the robot's bow sweep direction;
[0027] A path point search module is used to search for bow-sweep path points according to the bow-sweep direction of the robot, pair all bow-sweep path points in pairs after eliminating invalid path points, and determine a complete set of bow-sweep path points in the area enclosed by the edge map according to a preset cleaning interval;
[0028] A cleaning module is used to obtain the current posture of the robot, select the first bow sweep path point as the current bow sweep starting point according to a preset rule, determine the main sweep direction and the supplementary sweep direction according to the position of the current bow sweep starting point in the edge map, select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, take the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and clean the current bow sweep path;
[0029] A bow sweep planning module is used to detect the uncleaned path points in the supplementary sweep direction and the main sweep direction in sequence after the current bow sweep path is swept, and select the third bow sweep path point as a new bow sweep starting point based on the detection result and preset rules;
[0030] The obstacle avoidance re-planning module is used to perform obstacle avoidance re-planning operations based on the obstacle information collected during driving;
[0031] The path following module is used to drive the robot along the path according to the planned path.
[0032] Furthermore, it also includes an automatic partitioning module, which is used to automatically divide the cleaning area into multiple cleaning partitions according to the map generated by the map management module.
[0033] Compared with the prior art, the present invention has the following advantages and beneficial effects:
[0034] The present invention forms a robot edge track grid by sweeping along the edge and recording the driving track. This step not only ensures the comprehensive coverage of the edge of the cleaning area, but also provides accurate basic data for the subsequent bow-sweeping path planning; the edge track grid is expanded to construct a robot edge map, and the bow-sweeping direction is determined based on the map size. This method of dynamically adjusting the cleaning strategy according to environmental characteristics enhances the flexibility and adaptability of path planning. Then, by searching for bow-sweeping path points and eliminating invalid path points, the effectiveness and efficiency of the cleaning path are ensured. At the same time, all bow-sweeping path points are paired in pairs, and a complete bow-sweeping path point set is determined according to a preset cleaning interval. This path planning method effectively avoids cleaning omissions and repeated cleaning, and improves cleaning efficiency. During the cleaning process, a new bow-sweeping starting point is dynamically selected according to the current posture of the robot and the situation of the uncleaned path points, and the main cleaning direction and the supplementary cleaning direction are determined based on the position of the starting point in the edge map, ensuring the continuity and comprehensiveness of the cleaning path. At the same time, by obtaining obstacle information collected during the robot's driving, obstacle avoidance and re-planning operations are performed, enabling the robot to flexibly respond to complex and changing environments. In addition, the method also uses multi-sensor fusion technology to build a map. Each map pixel contains three types of information: idle, occupied, and unknown, providing more accurate data support for obstacle avoidance and path planning, which not only improves the robot's obstacle avoidance ability, but also further improves the accuracy and efficiency of cleaning. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 is a flow chart of the method of the present invention;
[0036] Figure 2 It is a schematic diagram of the structure of the system of the present invention. DETAILED DESCRIPTION
[0037] The present invention is further described in detail below in conjunction with examples, but the embodiments of the present invention are not limited thereto.
[0038] Embodiment 1:
[0039] Combined with Figure 1 As shown, a cleaning robot full coverage path planning method is applied to the cleaning robot, and the following steps are performed according to the obtained cleaning partition instructions, including:
[0040] S100, performing edge cleaning according to the acquired cleaning partition instruction, and recording the map grid where the edge driving track is located to form the edge track grid of the robot until the edge cleaning is completed;
[0041] S200, expanding the robot's edge track grid to construct a robot edge map to determine the robot's bow sweep direction;
[0042] S300, searching for bow-sweeping path points according to the bow-sweeping direction of the robot, pairing all bow-sweeping path points in pairs after eliminating invalid path points, and determining a complete set of bow-sweeping path points in the area enclosed by the edge map according to a preset cleaning interval;
[0043] S400, obtaining the current posture of the robot, selecting the first bow sweep path point as the current bow sweep starting point according to a preset rule, and determining the main sweeping direction and the supplementary sweeping direction according to the position of the current bow sweep starting point in the edge map, selecting the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, taking the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and sweeping the current bow sweep path;
[0044] S500, after completing the current bow sweep path sweep, sequentially detect the uncleaned path points in the supplementary sweep direction and the main sweep direction, and select a third bow sweep path point as a new bow sweep starting point based on the detection result and a preset rule;
[0045] S600, performing an obstacle avoidance replanning operation according to obstacle information collected during driving, wherein the obstacle avoidance replanning operation according to obstacle information collected during driving includes:
[0046] When an obstacle is detected during driving, the vehicle will circle around the obstacle and record the driving trajectory to the edge map and expand it to form a new edge map;
[0047] Searching for new bow-sweep path points based on the new edge map, and adding valid path points in the new bow-sweep path points to the bow-sweep path point set;
[0048] Search for a new bow sweep starting point based on the current posture
[0049] S700, after returning to the completion of the current bow sweep path cleaning, detect the uncleaved path points in the supplementary sweep direction and the main sweep direction in turn, and select the third bow sweep path point as the new bow sweep starting point step based on the detection results and preset rules for iterative execution until all bow sweep path points are visited and the cleaning partition cleaning is completed.
[0050] Principle of the invention: The cleaning robot will start to perform edge cleaning according to the cleaning partition instructions set by the user. The cleaning partition is a small area automatically divided by the automatic partition module according to the map shape, representing a certain area on the map. The automatic partition module divides the map into multiple small areas based on the environmental map, and cleans each partition one by one in a certain order. The purpose of this step is to let the robot drive along the partition line or the edge of the obstacle in the partition first, so as to have a clear understanding of the boundary of the cleaning area, so as to improve the cleaning efficiency of the robot. During the driving process, the robot will record its trajectory along the edge in real time, and map this trajectory information to the pre-constructed map grid. Map grid is a way to divide a map into several small grids, each of which represents a specific location on the map. The map is constructed using radar, camera and obstacle avoidance sensor. Each map pixel contains three types of information: free, occupied and unknown. The grid map constructed by the SLAM algorithm is composed of a series of small grids with a side length of 5 cm. Among them, the grid state is occupied in places marked by obstacles such as laser radar, camera and obstacle avoidance sensor; the grid state is free in areas marked as passable; the grid state is unknown in unmarked areas. By recording the robot's driving trajectory in these grids, the robot's edge trajectory grid can be formed, which is equivalent to drawing a boundary map of the cleaning area for the robot.
[0051] Next, the system will expand the robot's edge track grid. The edge track grid expansion is to expand the edge track grid on the map by the distance of the robot radius to construct the robot's edge map. Expansion processing is a technology that expands the track grid outward by a certain distance, so that the robot can cover the area near the boundary in the subsequent cleaning process to avoid omissions. The expanded area is in the edge cleaning area, and the grid is marked as occupied. This area is excluded during bow sweep planning to avoid repeated cleaning; at the same time, the edge track grid expansion can leave a safe driving space for the robot to avoid collisions between the robot and obstacles due to path planning; in addition, the edge track grid expansion can ensure the closure of the track after the edge track is recorded in the grid. The construction of the edge map determines the main cleaning direction for the robot, that is, the bow sweep direction. The bow sweep direction is usually determined based on the size of the edge map. For example, the long side direction of the map is selected as the main direction of the bow sweep. Selecting a longer direction as the robot's bow sweep direction can reduce the number of robot turns and improve the robot's cleaning efficiency.
[0052] Then, the system will start searching for bow-sweep path points. These path points are selected according to certain rules inside the edge map to guide the robot to clean. Bow-sweep path points are free grids at the intersection of free grids and obstacle grids along the bow-sweep direction. Free grids are paired in pairs to form a long bow-sweep edge, which is used as a bow-sweep path after discretization. During the search process, the system will eliminate invalid path points that are not surrounded by the edge track. Invalid points in the bow-sweep path points are points that are not surrounded by the edge track and need to be deleted to ensure that each path is valid and necessary. The method to eliminate invalid path points is to make a ray in any direction through the path point. If the number of intersections with the edge track is an even number, the path point is considered invalid. After the search is completed, all valid bow-sweep path points will be paired in pairs, and according to the preset cleaning interval, the complete set of bow-sweep path points in the area surrounded by the edge map will be determined. The cleaning interval is set according to the requirements of the cleaning coverage rate. It is the interval between two bow-sweeping paths that can ensure that the planned path meets the cleaning coverage rate requirements. It is usually the effective working width of the robot cleaning component, 15 cm, to ensure that there is no missed cleaning and no excessive repeated cleaning, ensuring that the robot can cover every location that needs to be cleaned during the cleaning process.
[0053] Subsequently, the robot will select a bow sweep path point as the current bow sweep starting point according to the preset rules based on its current posture. The current bow sweep starting point is the path point in the bow sweep path point set that is closest to the current posture of the robot and can be reached in a straight line. If the robot cannot reach the closest point in a straight line, the final planning algorithm based on the graph search path is used to obtain the curved path from the current posture of the robot to the bow sweep starting point. The robot posture is provided by the positioning algorithm. The SLAM or repositioning method can provide the accurate posture of the robot in the map, with a position error of <5cm and an angle error of <1°, which is the basis for judging the starting point of the robot's bow sweep. After selecting the starting point, the system will determine the main direction and the supplementary sweep direction of the sweep according to the position of the starting point in the edge map. If the starting point is to the left, the main sweeping direction is to the right; conversely, if the starting point is to the right, the main sweeping direction is to the left. The supplementary sweeping direction is the opposite direction of the main sweeping direction, which is the opposite direction of the main sweeping direction, and refers to the direction in which the robot needs to search for path points when supplementing during the sweeping process. The main cleaning direction is the main direction of the robot when cleaning. There are more uncleaned areas in this direction. The supplementary cleaning direction controls the robot to go back and clean the uncleaned areas during the cleaning process to avoid the low efficiency of going back to clean after cleaning a large area in the main direction, thereby ensuring the comprehensiveness of the cleaning. After determining the cleaning direction, the robot will select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, and the straight path between the two points is the current bow sweep path. The number of path points in the bow sweep path point set must be an even number, and they exist in pairs. If both paired points are visited, it means that the cleaning task of the section has been completed. Then, the robot will clean along this path to ensure that every position on the path is cleaned.
[0054] After completing the cleaning of the current bow-sweeping path, it will sequentially detect whether there are bow-sweeping path points that can be reached in a straight line in the supplementary sweeping direction, and the lateral distance is within the distance of the three bow-sweeping paths. If so, the straight line will be directly used as the new driving path; if no qualified path points are found in the supplementary sweeping direction, the main sweeping direction will be searched to see if there are path points that can be reached in a straight line. If so, the straight line will be used as the new driving path; if no path points that can be reached in a straight line are found in the main sweeping direction and the supplementary sweeping direction, and only one of the two directions has unvisited path points, the distance optimal path planning method will be used to directly search for the nearest point as the new bow-sweeping path point; if no path points that can be reached in a straight line are found in the main sweeping direction and the supplementary sweeping direction, and both directions have unvisited path points, the distance optimal path planning method will be used to search for the nearest path point, and then the path point with a smaller path distance in the two directions will be used as the new bow-sweeping path point, and the path curve will be the new driving path. This is to ensure that the robot will not miss any position during the cleaning process. After the detection is completed, the system will select the next bow sweep path point as the new bow sweep starting point based on the detection results and preset rules, and continue to perform the cleaning task. This process will continue to iterate until all bow sweep path points have been visited, and the cleaning partition is completed.
[0055] During the cleaning process, when the robot encounters an obstacle during the bow sweep, the system will update the edge map after bypassing the obstacle based on the obstacle information collected in real time during the driving process, and then update the path point set. At this time, the target point of the original path has not been reached, and the access status of this path point is reset to unvisited. The original starting point and the new path point form a pairing point, and the new path point is set to the visited state. The original path is cut into two sections and is no longer passable. At this time, search for the unvisited path point closest to the robot positioning completed along the edge, search for the path to this point, use this point as the new path starting point, and then continue to perform the cleaning task.
[0056] The cleaning task of the cleaning partition is completed by visiting a series of paired bow-sweep path points. When the access status of all points in the path point set is visited, no new path can be given, and the cleaning task is completed.
[0057] To summarize, by obtaining an edge map for a given partition, searching for a set of valid bow-sweeping path points based on the edge map, and then visiting the bow-sweeping path points to plan the bow-sweeping path; when the robot has visited all the bow-sweeping path points, the robot completes the cleaning task of the partition. This cleaning robot not only takes into account the boundary and obstacle information of the cleaning area, but also achieves comprehensive coverage and flexible response of the cleaning area through intelligent path planning and obstacle avoidance re-planning technology.
[0058] As an implementation mode, the map is a map constructed using radar, camera and obstacle avoidance sensor, and each map pixel contains three kinds of information: free, occupied and unknown.
[0059] Specifically, in the full coverage path planning method of the cleaning robot, the construction of the map is a highly detailed and real-time environment model jointly constructed by multiple devices such as radar, camera and obstacle avoidance sensor. This map not only reflects the physical structure of the space where the robot is located, but also provides basic data for the robot's cleaning path planning. Each pixel of the map can be divided into three types: idle, occupied and unknown. Idle pixels indicate that the position is idle and not occupied by any object, and the robot can pass freely. For example, in the central area of the living room, there is usually no furniture or obstacles, and this part of the area will be marked as idle pixels on the map. Occupied pixels indicate that the position is occupied by objects and the robot needs to avoid them. These objects can be walls, furniture, doors and windows, etc. When the robot detects these obstacles through radar or camera, it will mark the corresponding position on the map as occupied pixels. For example, the sofa and TV cabinet in the living room will be presented on the map as occupied pixels. Unknown pixels refer to locations that have not been explored or cannot be determined. This is because these locations are beyond the detection range of the radar or camera, or because the environment has changed dynamically (such as a door being opened or closed). Before the robot starts cleaning, the entire map may contain a large number of unknown pixels. But as the robot explores and cleans, these unknown pixels will gradually be converted into free or occupied pixels.
[0060] For example, when a cleaning robot is placed in an unfamiliar room, it will first scan the general structure of the room through radar, capture more detailed image information through the camera, and use obstacle avoidance sensors to perceive surrounding obstacles in real time. This information will be processed and converted into pixels on the map. At first, there may be only a small number of free and occupied pixels on the map, as well as a large number of unknown pixels. But as the robot moves and cleans, the unknown pixels will gradually decrease, while the free and occupied pixels will continue to increase and update. Eventually, the robot will be able to plan the optimal cleaning path based on this detailed map to ensure that every corner can be thoroughly cleaned.
[0061] As an implementation mode, the edge cleaning includes: the robot relies on positioning and edge sensors to drive along the partition line or obstacles within the partition until it returns to the starting position.
[0062] Specifically, edge cleaning relies on the robot's precise positioning system and edge sensors, which enable the robot to travel along the partition line or the edge of obstacles within the partition. The robot will use its positioning system to determine its own position and direction. This positioning system includes a variety of sensors such as gyroscopes, accelerometers, and GPS, which work together to enable the robot to know where it is and how it should move in real time; when the robot enters the edge cleaning mode, the edge sensor can sense the distance from the obstacle or wall. When the robot approaches an obstacle, the edge sensor will send a signal to the robot's control system, instructing it to adjust the driving direction to maintain a certain distance from the obstacle or wall; during the edge cleaning process, the robot will travel along the partition line or obstacles within the partition (such as walls, furniture edges, etc.). It will constantly adjust its driving route to ensure that it can closely fit the edge of the obstacle, so as to clean those corners and edge areas that are usually difficult to reach.
[0063] For example, there is a clear dividing line between the living room and the dining room, such as the edge of a carpet. When the edge cleaning mode of the cleaning robot is started, the robot will first locate near this dividing line and then drive along the edge of the carpet. It will use the edge sensor to sense the position of the carpet edge and constantly adjust its driving direction to ensure that it can clean closely to the edge of the carpet. After the robot cleans this dividing line, it will continue to clean along the edges of other obstacles in the living room or dining room until it finally returns to the starting position, completing the entire edge cleaning task.
[0064] By cleaning along the edges, the cleaning robot can ensure that every corner of the home is thoroughly cleaned, especially those edges and corners that are usually difficult to reach. This cleaning mode not only improves cleaning efficiency, but also greatly improves the thoroughness and coverage of cleaning.
[0065] As an implementation mode, the bow sweep direction is determined according to the size of the edge map, and the long side direction of the map is used as the main direction of the bow sweep.
[0066] Specifically, "bow sweep direction" refers to determining the main direction of cleaning based on the size of the edge map constructed by the robot. Specifically, the robot analyzes the long and short sides of the map and selects the long side as the main propulsion direction of the bow sweep. In most home environments, the shape of the room or space is often not completely regular, and there may be rectangular, square, or even irregular shapes. In these cases, choosing the longer side as the main direction of cleaning can minimize the number of times the robot turns, thereby improving cleaning efficiency.
[0067] Suppose a living room is shaped like a rectangle with a long side of 5 meters and a short side of 3 meters. When the cleaning robot enters the living room and starts to build a map along the sides, it identifies the size of the rectangle. Then, based on this size information, the robot decides to use the 5-meter long side as the main direction of the bow sweep. This means that during the cleaning process, the robot will clean in a straight line along the long side, and when it reaches one end of the long side, it will turn and clean in the short side for a short time, and then return to the long side to continue cleaning. This cleaning path resembles an elongated "bow", hence the name "bow sweep". Choosing the long side as the main direction of the bow sweep can reduce the number of turns of the robot, because the robot can continue to clean in a straight line in the long side direction without turning frequently. Secondly, this cleaning method can ensure that the robot covers the entire cleaning area more evenly, avoiding omissions or repeated cleaning. Finally, by optimizing the cleaning path, the bow sweep direction can also help the robot use battery power more efficiently, thereby extending the cleaning time.
[0068] In summary, the "bow sweep direction" is an efficient cleaning strategy determined by the cleaning robot during the cleaning process based on the size information of the edge map. By selecting the long side direction as the main cleaning direction, the robot can cover the entire cleaning area more efficiently and evenly, improving cleaning efficiency and quality.
[0069] As an implementation mode, the preset cleaning interval is the interval between two bow-sweeping paths that ensures that the planned path meets the cleaning coverage requirement.
[0070] Specifically, the setting of the cleaning interval needs to take into account multiple factors, including the robot's cleaning width, the shape and size of the cleaning area, and the desired cleaning coverage, etc. The goal is to ensure that after the robot completes a round of cleaning, the entire area can meet the predetermined cleaning standards without missing or repeating any cleaning parts.
[0071] For example, there is a cleaning robot with a width of 1 meter. When it performs bow sweeping, the width of each sweep is also 1 meter (for the sake of simplicity, we assume that the sweeping width is the same as the robot width, which may be different in reality). In order to ensure the cleaning coverage, we need to set an appropriate cleaning spacing so that the two adjacent bow sweeping paths can completely cover the entire area. If the cleaning spacing is set too wide, such as 1.5 meters, there will be a 0.5-meter area between the two paths that will not be cleaned, resulting in insufficient cleaning coverage. Conversely, if the cleaning spacing is set too narrow, such as 0.5 meters, although full coverage can be ensured, the robot will repeatedly clean some areas, resulting in a waste of efficiency.
[0072] Therefore, the preset cleaning interval needs to be accurately calculated to ensure that the expected cleaning coverage is achieved without causing unnecessary repeated cleaning. In actual applications, this interval is usually determined based on the robot's cleaning width and the characteristics of the cleaning area, and will be dynamically adjusted according to actual conditions during the cleaning process.
[0073] In summary, the "preset cleaning distance" is the distance between two adjacent bow sweeping paths set by the cleaning robot when planning the cleaning path to ensure that the entire cleaning area can be evenly and completely covered. The setting of this distance needs to comprehensively consider the robot's cleaning ability, the characteristics of the cleaning area, and the expected cleaning effect, and is one of the key factors to ensure cleaning quality and efficiency.
[0074] As an implementation method, the invalid path point is a point that is not surrounded by the edge trajectory. The method for determining whether it is an invalid path point includes: making a ray in any direction through the path point, and if the number of intersections with the edge trajectory is an even number, it is an invalid path point.
[0075] Specifically, "invalid path points" refer to those points that are not enclosed by the edge track constructed by the robot. By selecting a path point to be judged, and then starting from this point, make a ray in any direction. Next, we observe the intersection of this ray with the edge track previously constructed by the robot. If the number of intersections between this ray and the edge track is even, then this path point is judged to be an invalid path point. If a point is in the area enclosed by the edge track, then any ray starting from this point must have an odd number of intersections with the edge track. This is because the ray will pass through the inside of the area and intersect with the track, and each time it passes out, an intersection will be added until the ray completely leaves the area. Therefore, the number of intersections between a valid path point (that is, a point enclosed by the edge track) and the edge track must be an odd number. On the contrary, if a point is not in the area enclosed by the edge track, then the ray starting from this point will enter and leave the area once when intersecting with the edge track, and an intersection will be generated each time. Since there is one intersection each when entering and leaving the path, the total number of intersections must be an even number. Therefore, such a point is considered an invalid path point.
[0076] Suppose we have a room that is an irregular polygon, and the cleaning robot has built an edge track along the edge of the room. Now, we select a point in the room and make a ray from this point in one direction. If this ray intersects the edge track twice (that is, the number of intersections is an even number), then this point is not inside the room and is an invalid path point. On the contrary, if the number of intersections is an odd number, then this point is inside the room and is a valid path point.
[0077] Through this method, the cleaning robot can effectively identify which path points are invalid during the path planning process, thereby avoiding wasting time and resources at these points and improving the efficiency and accuracy of cleaning.
[0078] As an implementation mode, the main cleaning direction is determined based on the positional relationship of the starting point in the path point set. If the starting point is biased to the left, the main cleaning direction is right; the supplementary cleaning direction is the opposite direction of the main cleaning direction.
[0079] Specifically, the "main cleaning direction" is determined based on the relative position of the starting point of the cleaning task in the entire set of path points. If we regard the cleaning area as a two-dimensional plane, and the starting point of the robot is located at a corner or edge of this plane, then the main cleaning direction is the main moving direction starting from this starting point. If the starting point is on the left side of the area, in order to maximize the cleaning efficiency and reduce the number of turns, it will be set to the right as the main cleaning direction. It will try to keep moving to the right until it encounters an obstacle or the boundary of the area, and then adjust as needed, such as turning or changing the cleaning mode, to ensure full coverage; "sweep direction" is the opposite direction of the main cleaning direction. If the main cleaning direction is to the right, then the sweep direction is to the left. The introduction of the sweep direction is mainly to deal with those areas that may not be completely cleaned during the main cleaning process due to various reasons (such as obstacles, complex terrain, etc.). By setting the sweep direction, the robot can return to the places that may have been missed before for supplementary cleaning after completing the main cleaning, thereby ensuring the cleanliness of the entire area.
[0080] Suppose there is a rectangular room, and the robot's starting point is set at the lower left corner of the room. According to the above rules, the robot may choose to go right as the main cleaning direction, and move forward along the long side of the room until it reaches the right boundary of the room. In this process, the robot will use sensors to avoid obstacles such as furniture and corners, and record the areas that have been cleaned. When the robot reaches the right boundary, it may choose to turn up or down according to the preset algorithm and continue cleaning along the new row. After completing the cleaning of all the main rows, the robot will switch to the supplementary cleaning direction, that is, to the left, to supplement the cleaning of the edge areas or narrow passages that may not have been completely cleaned due to obstacles before, to ensure that the entire room is thoroughly cleaned.
[0081] Through such a cleaning strategy, the robot can complete the cleaning task in an efficient and systematic manner, reducing repetitive work and avoiding omissions, thus providing a more intelligent and humane cleaning experience.
[0082] As another embodiment of the present application, Figure 2 As shown, a cleaning robot full coverage path planning system includes:
[0083] A map management module, used to expand the robot's edge track grid and construct a robot edge map to determine the robot's bow sweep direction;
[0084] A path point search module is used to search for bow-sweep path points according to the bow-sweep direction of the robot, pair all bow-sweep path points in pairs after eliminating invalid path points, and determine a complete set of bow-sweep path points in the area enclosed by the edge map according to a preset cleaning interval;
[0085] A cleaning module is used to obtain the current posture of the robot, select the first bow sweep path point as the current bow sweep starting point according to a preset rule, determine the main sweep direction and the supplementary sweep direction according to the position of the current bow sweep starting point in the edge map, select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, take the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and clean the current bow sweep path;
[0086] A bow sweep planning module is used to detect the uncleaned path points in the supplementary sweep direction and the main sweep direction in sequence after the current bow sweep path is swept, and select the third bow sweep path point as a new bow sweep starting point based on the detection result and preset rules;
[0087] The obstacle avoidance re-planning module is used to perform obstacle avoidance re-planning operations based on the obstacle information collected during driving;
[0088] The path following module is used to drive the robot along the path according to the planned path.
[0089] Specifically, the path following module is responsible for driving the robot along the path according to the planned path. It converts the planned cleaning path into instructions that the robot can understand and execute, and then controls the movement and steering of the robot to ensure that the robot can accurately clean along the planned path.
[0090] As an implementation mode, it further includes an automatic partitioning module for automatically dividing the cleaning area into a plurality of cleaning partitions according to the map generated by the map management module.
[0091] Specifically, the automatic partitioning module automatically divides the cleaning area into multiple cleaning partitions based on the map generated by the map management module; after the map management module builds the edge map based on the robot's edge trajectory, the automatic partitioning module analyzes the shape, size and possible obstacle distribution of the map, and then divides the cleaning area into multiple relatively independent and easy-to-manage cleaning partitions based on this information. These partitions may be determined based on factors such as the layout of the room, the placement of furniture, and the width of the corridor.
[0092] Assume that a home environment includes multiple rooms such as a living room, bedroom, kitchen, and bathroom. Each room is of different size and shape, and there may be various furniture and obstacles in the room. After the map management module builds the edge map of the home, the automatic partitioning module will identify each room as an independent cleaning partition based on the map information. If a room is particularly large, the module may further divide it into smaller sub-partitions to ensure uniformity and efficiency of cleaning. With automatic partitioning, the cleaning robot can perform cleaning work in a more orderly manner. It can start from one partition and clean it according to the preset cleaning path and strategy until the partition is completely cleaned before moving to the next partition. This not only avoids repeated cleaning and omissions, but also adjusts the cleaning strategy and parameters such as cleaning speed and suction force according to the characteristics of each partition to achieve the best cleaning effect. In addition, automatic partitioning helps the robot better manage its resources and energy. By rationally planning the cleaning path and partition order, the robot can use the battery power more efficiently, extend the working time, and return to the charging station in time for charging when needed.
[0093] In summary, the automatic partitioning module is an indispensable part of the cleaning robot's full coverage path planning system. It intelligently divides the cleaning area into multiple cleaning zones, improves cleaning efficiency, optimizes the robot's workflow, and ensures that each area can be thoroughly cleaned.
[0094] Although the present invention is described herein with reference to the illustrative embodiments of the present invention, the above embodiments are only preferred embodiments of the present invention, and the embodiments of the present invention are not limited to the above embodiments. It should be understood that those skilled in the art can design many other modifications and embodiments, which will fall within the scope and spirit of the principles disclosed in this application.
Claims
1. A cleaning robot full coverage path planning method, applied to the cleaning robot, characterized in that: The following steps are performed according to the obtained partition cleaning instruction, including: According to the acquired cleaning partitioning instructions, the robot performs edge cleaning and records the map grid where the edge driving track is located to form the edge track grid of the robot until the edge cleaning is completed; Expanding the robot's edge track grid to construct an edge map of the robot to determine the robot's bow sweep direction; Searching for bow-sweep path points according to the bow-sweep direction of the robot, pairing all bow-sweep path points in pairs after eliminating invalid path points, and determining a complete set of bow-sweep path points in the area enclosed by the edge map according to a preset cleaning interval; Acquire the current posture of the robot, select the first bow sweep path point as the current bow sweep starting point according to a preset rule, determine the main sweep direction and the supplementary sweep direction according to the position of the current bow sweep starting point in the edge map, select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, take the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and sweep the current bow sweep path; After the current bow sweep path is cleaned, the uncleaned path points in the supplementary sweep direction and the main sweep direction are detected in sequence, and a third bow sweep path point is selected as a new bow sweep starting point based on the detection result and a preset rule; Perform obstacle avoidance replanning operations based on obstacle information collected during driving; After returning to the completion of the current bow sweep path cleaning, the uncleaved path points in the supplementary sweep direction and the main sweep direction are detected in turn, and the third bow sweep path point is selected as the new bow sweep starting point step based on the detection results and preset rules for iterative execution until all bow sweep path points are visited and the cleaning partition cleaning is completed.
2. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The obstacle avoidance re-planning operation is performed according to the obstacle information collected during driving, including: When an obstacle is detected during driving, the vehicle will circle around the obstacle and record the driving trajectory to the edge map and expand it to form a new edge map; Searching for new bow-sweep path points based on the new edge map, and adding valid path points in the new bow-sweep path points to the bow-sweep path point set; Search for a new bow sweep starting point based on the current posture.
3. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The map is constructed using radar, camera and obstacle avoidance sensor, and each map pixel contains three types of information: free, occupied and unknown.
4. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The edge cleaning includes: the robot relies on positioning and edge sensors to drive along the partition line or obstacles in the partition until it returns to the starting position.
5. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The bow sweep direction is determined according to the size of the map along the edge, with the long side direction of the map being the main direction of the bow sweep.
6. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The preset cleaning interval is the interval between two bow-sweeping paths to ensure that the planned path meets the cleaning coverage requirements.
7. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The invalid path point is a point that is not surrounded by the edge trajectory. The method for determining whether it is an invalid path point includes: making a ray in any direction through the path point, and if the number of intersections with the edge trajectory is an even number, it is an invalid path point.
8. A cleaning robot full coverage path planning method according to claim 1, characterized in that: The main cleaning direction is determined based on the positional relationship of the starting point in the path point set. If the starting point is biased to the left, the main cleaning direction is right; the supplementary cleaning direction is the opposite direction of the main cleaning direction.
9. A cleaning robot full coverage path planning system, characterized in that: include: A map management module, used to expand the robot's edge track grid and construct a robot edge map to determine the robot's bow sweep direction; A path point search module is used to search for bow-sweep path points according to the bow-sweep direction of the robot, pair all bow-sweep path points in pairs after eliminating invalid path points, and determine a complete set of bow-sweep path points in the area enclosed by the edge map according to a preset cleaning interval; A cleaning module is used to obtain the current posture of the robot, select the first bow sweep path point as the current bow sweep starting point according to a preset rule, determine the main sweep direction and the supplementary sweep direction according to the position of the current bow sweep starting point in the edge map, select the second bow sweep path point paired with the current bow sweep starting point as the current bow sweep end point, take the straight line path between the current bow sweep starting point and the current bow sweep end point as the current bow sweep path, and clean the current bow sweep path; A bow sweep planning module, which is used to detect the uncleaned path points in the supplementary sweep direction and the main sweep direction in sequence after completing the current bow sweep path sweep, and select the third bow sweep path point as the new bow sweep starting point based on the detection result and preset rules; The obstacle avoidance re-planning module is used to perform obstacle avoidance re-planning operations based on the obstacle information collected during driving; The path following module is used to drive the robot along the path according to the planned path.
10. A cleaning robot full coverage path planning system according to claim 9, characterized in that: It also includes an automatic partitioning module, which is used to automatically divide the cleaning area into multiple cleaning partitions according to the map generated by the map management module.
Citation Information
Cited By
Cleaning robot full-coverage path planning method and system
CN121140789A