A robot full path coverage planning method, device and robot

By dynamically adjusting the path through robot scanning of the environment and optimizing movement using scatter plots and circular paths, the problems of deviation and large computational load in path planning when the environment changes in existing technologies are solved, achieving efficient and comprehensive path coverage.

CN119717803BActive Publication Date: 2026-01-30QINGYUN INTELLIGENT (SHENZHEN) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411822001.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-11
Publication Date
2026-01-30
Estimated Expiration
2044-12-11

AI Technical Summary

Technical Problem

Existing path planning methods cannot be adjusted in a timely manner when the environment changes, resulting in path deviation and incomplete coverage in complex environments. Furthermore, existing dynamic path planning methods involve large amounts of computation, which affects the robot's real-time response capability.

Method used

By scanning the environment with a robot, the robot determines the first shape and the second shape that surrounds the shape, dynamically adjusts the path, selects untraversed line segments using scatter plots, optimizes movement by combining circular arc paths, and periodically scans to adapt to environmental changes, achieving full path coverage.

Benefits of technology

It improves the robot's path coverage and resource utilization efficiency in complex environments, reduces repeated paths, ensures safety and robustness, adapts to environmental changes, avoids collisions and stalls, and achieves full path coverage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119717803B_ABST
    Figure CN119717803B_ABST
Patent Text Reader

Abstract

This invention provides a robot full-path coverage planning method, apparatus, and robot. The method determines a first path by scanning a first region, enabling the robot to move based on the first path. In response to collision commands received during movement, the first region is re-scanned to determine a second path and then the first path is redefined, allowing the robot to move based on the second path. Once the robot has completed traversing the second path, it reverts to moving based on the first path. The proposed solution can acquire environmental information in real time and plan paths based on current environmental conditions, helping the robot to promptly detect and avoid obstacles, preventing collisions and stalls caused by path planning errors. Through dynamic scanning and path adjustment, it effectively responds to environmental changes or uncertainties, reducing errors and obstacle interference, thereby efficiently and comprehensively achieving full-path coverage within the area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of path coverage planning technology, specifically relating to a robot full path coverage planning method, device and robot. Background Technology

[0002] With the rapid development of artificial intelligence and robotics, robots are being used more and more widely in various industries, especially in cleaning, inspection, and warehousing. Autonomous navigation and path planning technology has become one of the core competitive advantages of robots.

[0003] Currently, existing path planning methods can be broadly categorized into two main types: static path planning and dynamic path planning. Static path planning methods typically assume that the environment is known and unchanging, pre-calculating one or more optimal paths for the robot to execute based on a map or environmental model. However, in practical applications, the environment frequently changes; for example, the appearance of obstacles or the robot's interaction with the environment may cause path deviations. Static path planning methods perform poorly in such situations, failing to adjust the path in a timely manner to cope with new environmental conditions.

[0004] Compared to static path planning, dynamic path planning methods can cope with environmental changes to some extent. However, the path adjustment process of existing dynamic path planning methods is relatively complex, requires a high amount of computation, and can easily affect the robot's real-time response capability. Moreover, it cannot guarantee that the robot can achieve efficient and comprehensive movement path coverage in complex environments. Summary of the Invention

[0005] To overcome the shortcomings of the prior art, this invention proposes a robot full path coverage planning method, the method comprising:

[0006] In response to a scanning command, a first region is scanned to determine a first shape of the first region and a second shape surrounding the first shape based on the scanning results; the second shape includes a rectangle surrounding the first region.

[0007] A first path is determined based on the robot's current position, the first shape, and the second shape, and the robot moves based on the first path.

[0008] In response to a collision command received by the robot during its movement along the first path, the first region is rescanned to redetermine the first shape based on the scan results. A second path is determined based on the robot's current position and the newly determined first shape, and the first path is redefined. The robot then moves along the second path. Once the robot has completed traversing the second path, it resumes movement along the first path. This achieves full path coverage of the first region when the robot has completed traversing the first path.

[0009] Specifically, the step of "determining a first path based on the robot's current position, the first shape, and the second shape, and causing the robot to move based on the first path" includes:

[0010] The major axis of the second shape is determined as the first direction. A scatter plot is generated based on the first shape. The distance from the robot's current position to each endpoint in the scatter plot that is perpendicular to the first direction is determined. The endpoint with the closest distance is selected as the starting endpoint. The direction in which the robot's current position extends toward the starting endpoint is determined as the second direction. The robot is then moved along the second direction to the starting endpoint.

[0011] In the scatter plot, identify the line segment that is parallel to the first direction and has not been traversed that is closest to the robot's current position;

[0012] Plan the path for the robot to move to the first endpoint of the line segment that is closer to the robot's current position, so that the robot moves to the first endpoint, and after the robot moves to the first endpoint, move the robot along a straight line to the second endpoint of the line segment, so as to determine the line segment as a traversed line segment;

[0013] Based on the second direction, determine the line segment in the scatter plot that is parallel to the first direction and has not been traversed and is closest to the robot's current position, so as to perform the step of "planning the path for the robot to move to the first endpoint of the line segment that is closest to the robot's current position" again.

[0014] Furthermore, the method also includes:

[0015] If no line segment parallel to the first direction and not traversed that is closest to the robot's current position is detected in the scatter plot based on the second direction, the robot moves along a straight line from the second endpoint of the current line segment to the first endpoint of the current line segment. Then, based on the second direction, the nearest line segment parallel to the first direction and not traversed that is closest to the robot's current position is determined in the scatter plot again, so as to execute the step of "planning the path for the robot to move to the first endpoint of the line segment that is closer to the robot's current position".

[0016] Furthermore, the method also includes:

[0017] After the robot moves along a straight line from the second endpoint of the current line segment to the first endpoint of the current line segment, if no line segment parallel to the first direction and not traversed is detected in the scatter plot based on the second direction, the step of "determining the line segment parallel to the first direction and not traversed that is closest to the robot's current position in the scatter plot" is executed again.

[0018] If no line segment parallel to the first direction that is not traversed and is closest to the robot's current position is detected in the scatter plot, it is determined that the robot has completed the traversal of the first path.

[0019] Preferably, the path by which the robot moves along a straight line from one end of one line segment to the end of another line segment includes an arc.

[0020] Preferably, the method further includes:

[0021] The first region is scanned at a preset frequency to redetermine the first shape based on the scan results. If the currently determined first shape differs from the previously determined first shape, the first path is redetermined, and the robot moves based on the currently determined first path.

[0022] Furthermore, the method also includes:

[0023] After achieving full path coverage of the first region, the first region is scanned again. Based on the scan results, it is determined whether there is a second region connected to the first region that has not achieved full path coverage. If a second region exists, the robot moves to the second region and identifies the second region as the new first region. The step of "scanning the first region to determine the first shape of the first region and the second shape surrounding the first shape based on the scan results" is executed again.

[0024] Furthermore, the method also includes:

[0025] Before determining the first path and moving the robot based on the first path, the third path is determined based on the robot's current position and the first shape, and the robot moves based on the third path until the robot completes traversal of the third path; the third path includes the edge of the first shape and the shortest movement path between the robot's current position and the edge of the first shape.

[0026] The present invention also proposes a robot full path coverage planning device, characterized in that the device comprises:

[0027] A scanning module is configured to scan a first region in response to a scanning command, so as to determine a first shape of the first region and a second shape surrounding the first shape based on the scanning result; the second shape includes a rectangle surrounding the first region.

[0028] A first movement module is configured to determine a first path based on the robot's current position, the first shape, and the second shape, and to enable the robot to move based on the first path; so that when the robot completes traversal of the first path, it achieves full path coverage of the first region.

[0029] An obstacle correction module is configured to respond to a collision command received by the robot during its movement along the first path, rescan the first area to redetermine the first shape based on the scan results, determine a second path based on the robot's current position and the newly determined first shape, and redetermine the first path so that the robot moves along the second path. Once the robot has completed traversing the second path, it can then move back along the first path.

[0030] This invention also proposes a robot for implementing the robot full path coverage planning method described above.

[0031] The present invention has at least the following beneficial effects:

[0032] The proposed solution provides a simple and efficient framework for path planning, enabling robots to calculate and execute movement paths more quickly. It can respond to changes in the environment in real time during robot movement, rescan the area and replan the path, optimize the robot's coverage efficiency, effectively avoid the waste of path repetition, and enable the robot to automatically adjust its strategy in different work areas or under different operating conditions. This improves the robot's safety and reliability in complex environments and achieves more comprehensive path coverage. It is particularly suitable for tasks that require high-precision path coverage, such as cleaning, inspection, and material handling.

[0033] Furthermore, the proposed solution uses a scatter plot to allow the robot to flexibly select the most suitable starting point based on the current environmental layout, reducing redundant paths. By dynamically selecting untraversed line segments, it avoids repeatedly traversing covered areas, effectively improving path coverage and resource utilization efficiency. Moreover, when the robot cannot find new untraversed line segments, it can automatically return along the endpoint of the current path, avoiding unnecessary stagnation or dead ends, thus improving the robustness of the method. The arc-shaped endpoint movement path ensures the stability of the robot during movement.

[0034] In addition, this solution can perform periodic scanning to recalculate and adjust the path according to the new shape when the shape of the area changes, adapting to environmental changes in real time and ensuring that the robot can still respond flexibly in complex dynamic environments. It can also scan additional areas and move to the new area after completing the path coverage of one area. By determining the third path, the edge of the area can be traversed in advance before the robot moves inside the area, providing more accurate environmental information for subsequent path planning, and also preventing blind spots that cannot be covered in the subsequent process.

[0035] Therefore, the present invention provides a robot full path coverage planning method, device and robot. The proposed solution can acquire environmental information in real time and plan the path according to the current environmental conditions. It can help the robot to detect and avoid obstacles in time, avoid collisions and stalls caused by path planning errors. Through dynamic scanning and path adjustment, it can effectively cope with environmental changes or uncertainties, reduce errors and obstacle interference, and thus efficiently and comprehensively complete the full path coverage in the area. Attached Figure Description

[0036] To more clearly illustrate the technical solutions in the embodiments of this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0037] Figure 1 A schematic diagram of the overall process of the robot full path coverage planning method provided in Example 1;

[0038] Figure 2 Example diagram of the first defined shape;

[0039] Figure 3 A flowchart illustrating the method for periodically scanning and replanning paths;

[0040] Figure 4 A flowchart illustrating the method for determining and moving the first path;

[0041] Figure 5 Here is an example of a scatter plot;

[0042] Figure 6 This is an example diagram showing a robot moving based on a second path in a scatter plot.

[0043] Figure 7 This is an example of a line segment in a scatter plot;

[0044] Figure 8 This is an example diagram of a robot moving based on a first path;

[0045] Figure 9 Example diagram of an arc path for a robot to move from the endpoint of one line segment to the endpoint of another line segment;

[0046] Figure 10 A flowchart illustrating the method for moving a robot to a new area and planning its path;

[0047] Figure 11 Example diagram of a robot moving to a new area;

[0048] Figure 12 This is a schematic diagram of the module structure of the robot full path coverage planning device provided in Example 2.

[0049] Figure Labels

[0050] 10-Scanning module; 20-Second moving module; 30-First moving module; 31-Starting unit; 32-First detection unit; 33-Line segment moving unit; 34-Second detection unit; 35-Third detection unit; 40-Obstacle correction module; 50-Period correction module; 60-Area moving module. Detailed Implementation

[0051] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of the present invention, and not all of them. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of the present invention.

[0052] Various embodiments of the invention will be described more fully below. The invention may have various embodiments, and adjustments and changes may be made therein. However, it should be understood that there is no intention to limit the various embodiments of the invention to the specific embodiments disclosed herein, but rather the invention should be understood to cover all modifications, equivalents, and / or alternatives falling within the spirit and scope of the various embodiments of the invention.

[0053] In the following, the terms “comprising” or “may include” as used in various embodiments of the invention indicate the presence of the disclosed functions, operations, or elements, and do not limit the addition of one or more functions, operations, or elements. Furthermore, as used in various embodiments of the invention, the terms “comprising,” “having,” and their cognates are intended only to indicate a specific feature, number, step, operation, element, component, or combination of the foregoing, and should not be construed as primarily excluding the presence of one or more other features, numbers, steps, operations, elements, components, or combinations of the foregoing, or the possibility of adding one or more combinations of the foregoing.

[0054] In various embodiments of the invention, the expression "or" or "at least one of A and / or B" includes any combination or all combinations of the words listed simultaneously. For example, the expression "A or B" or "at least one of A and / or B" may include A, may include B, or may include both A and B.

[0055] The expressions used in the various embodiments of the present invention (such as "first," "second," etc.) may modify various constituent elements in the various embodiments, but do not limit the corresponding constituent elements. For example, the above expressions do not limit the order and / or importance of the elements. The above expressions are only used for the purpose of distinguishing one element from other elements. For example, a first user device and a second user device refer to different user devices, although both are user devices. For example, a first element may be referred to as a second element without departing from the scope of the various embodiments of the present invention, and similarly, a second element may also be referred to as a first element.

[0056] It should be noted that, in this invention, unless otherwise explicitly specified and defined, terms such as "installation," "connection," and "fixation" should be interpreted broadly. For example, they can refer to a fixed connection, a detachable connection, or an integral connection; they can refer to a mechanical connection or an electrical connection; they can refer to a direct connection or an indirect connection through an intermediate medium; and they can refer to the internal connection of two components. Those skilled in the art can understand the specific meaning of the above terms in this invention according to the specific circumstances.

[0057] In this invention, those skilled in the art should understand that the terms indicating orientation or positional relationship in the text are based on the orientation or positional relationship shown in the accompanying drawings, and are only for the purpose of facilitating the description of this invention and simplifying the description, and are not intended to indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation, and therefore should not be construed as a limitation of this invention.

[0058] The terminology used in the various embodiments of the invention is for the purpose of describing particular embodiments only and is not intended to limit the various embodiments of the invention. As used herein, the singular form is intended to include the plural form as well, unless the context clearly indicates otherwise. Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of the invention pertain. The terms (such as those defined in a generally used dictionary) are to be interpreted as having the same meaning as in the context of the relevant technical field and are not to be interpreted as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of the invention.

[0059] Example 1

[0060] This embodiment proposes a robot full path coverage planning method, the method including:

[0061] S100: In response to a scanning command, a first region is scanned to determine a first shape of the first region and a second shape surrounding the first shape based on the scanning result.

[0062] In this embodiment, the second shape includes a rectangle that surrounds the first region. Preferably, the second shape may include the smallest rectangle that can surround the first region.

[0063] S200: Determine a third path based on the robot's current position and first shape, and make the robot move based on the third path.

[0064] Specifically, the third path is determined based on the edge of the first shape. If there is no obstacle inside the first shape, the edge of the first shape only includes the outer edge; if there is an obstacle inside the first shape, the edge of the first shape may include the outer edge and the inner edge, or still only the inner edge; the third path determined in step S200 may include the edge of the first shape, as well as the shortest movement path between the robot's current position and the edge of the first shape.

[0065] Specifically, if the robot completes the traversal of the third path in step S200, step S300 is executed.

[0066] S300: Determine a first path based on the robot's current position, first shape, and second shape, and enable the robot to move based on the first path.

[0067] Specifically, if the robot completes the traversal of the first path in step S300, it achieves full path coverage of the first region.

[0068] S400: In response to a collision command received by the robot during movement based on the first path or the third path, the first region is re-scanned to redetermine the first shape based on the scan result, the second path is determined based on the robot's current position and the newly determined first shape, and the first path or the third path is redetermined so that the robot moves based on the second path, and after the robot has completed traversing the second path, the robot moves again based on the first path or the third path.

[0069] It should be noted that the method of re-determining the first path and the third path in step S400 is the same as that in steps S300 and S200; the second path newly determined in each step S400 does not include the previously determined second path. Through step S400, the method proposed in this embodiment can realize the detection of dynamic obstacles. When the robot collides with an obstacle that has not been detected in advance during its movement, the obstacle will be identified as a dynamic obstacle, and a second path will be generated around the dynamic obstacle. This allows the robot to circle around the dynamic obstacle once based on the second path, and re-plan the first path and the third path.

[0070] Therefore, the method proposed in this embodiment enables the robot to better cope with suddenly appearing dynamic obstacles, and has a higher path coverage rate compared with the existing path planning algorithm that directly bypasses obstacles.

[0071] Preferably, the method further includes:

[0072] S500: Scan the first region based on a preset frequency to redetermine the first shape based on the scanning result. If the currently determined first shape is different from the previously determined first shape, and the robot is currently moving based on the first path, redetermine the first path and make the robot move based on the currently determined first path.

[0073] If the currently determined first shape differs from the previously determined first shape, and the robot is currently moving along a third path, the third path is redefined, and the robot moves along the currently determined third path.

[0074] Similarly, the method of redetermining the first and third paths in step S500 is the same as in steps S300 and S200. Step S500 enables the robot to obtain changes in the current environment in real time, especially obstacles that may appear during movement, changes in the position of obstacles, or changes in the shape of the area, ensuring that the robot can continuously adapt to changes in the dynamic environment and maintain effective path planning, thereby achieving more accurate and reliable full path coverage.

[0075] When steps S400 and S500 are combined, obstacles can be detected before a collision, and obstacles can be discovered in advance through periodic scanning. Furthermore, it can detect whether there are dynamic obstacles in the scanning results of step S100, thereby improving the robot's adaptability in dynamic environments, enhancing the flexibility of path planning, and ensuring the integrity and safety of path coverage.

[0076] Specifically, please see Figures 4-9 Based on the robot's current position, a first shape, and a second shape, a first path is determined, enabling the robot to move along the first path. Specifically, this includes:

[0077] S310: Determine the major axis of the second shape as the first direction, generate a scatter plot based on the first shape, determine the distance from the robot's current position to each endpoint in the scatter plot that is perpendicular to the first direction, select the endpoint closest to the first direction as the starting endpoint, determine the direction of the robot's current position starting endpoint as the second direction, and move the robot along the second direction to the starting endpoint.

[0078] By generating a scatter plot in step S310 and selecting a starting point based on the robot's current position, it is possible to ensure that the robot starts moving along a shorter path, reducing unnecessary path detours and improving efficiency. After completing step S310, the robot's current position is the position of the starting endpoint.

[0079] S320: In the scatter plot, identify the line segment that is parallel to the first direction and has not been traversed that is closest to the robot's current position.

[0080] S330: Plan the path for the robot to move to the first endpoint of the line segment that is closest to the robot's current position, move the robot to the first endpoint, and after the robot moves to the first endpoint, move the robot along a straight line to the second endpoint of the line segment, so as to determine the line segment as a traversed line segment.

[0081] S340: Based on the second direction, determine the line segment in the scatter plot that is parallel to the first direction and has not been traversed and is closest to the robot's current position.

[0082] If a line segment that meets the conditions is detected in step S340, step S330 is executed again; if no line segment that meets the conditions is detected in step S340, step S350 is executed.

[0083] Preferably, when the robot needs to move from one end of a line segment to a new end of another line segment in step S330, the planned path for the robot to move to the new end includes an arc. It should be noted that when the robot turns from one line segment to another, traveling directly along a straight line may cause a sudden change in direction, resulting in discontinuous or uneven motion. Using an arc-shaped path allows the robot to transition to the new direction along a smooth curve, thereby avoiding changes in direction. The center of the arc is determined by the current position and the end of the target line segment, ensuring that the turning process is smooth. By reasonably setting the radius of the arc, the robot can avoid turning too sharply or too slowly, which would affect the accuracy and stability of the motion.

[0084] S350: Move the robot along a straight line from the second endpoint of the current line segment to the first endpoint of the current line segment, and again determine the line segment parallel to the first direction that is not traversed and is closest to the robot's current position in the scatter plot based on the second direction.

[0085] If a line segment that meets the conditions is detected in step S350, step S330 is executed again; if no line segment that meets the conditions is detected in step S350, step S320 is executed again, so that the traversal of the first path is completed when no line segment that meets the conditions is detected in step S320 as well.

[0086] Therefore, the method proposed in this invention ensures that the robot always selects the line segment that is closest to the current position and has not been traversed through repeated searching and adjustment in steps S320-S350, making path traversal more efficient, avoiding repeated paths and invalid loops, and improving work efficiency. When the robot cannot find a new line segment during the traversal, the solution will backtrack to the previous step and search again. The dynamic adjustment method can effectively deal with unexpected situations and ensure that no path traversal is missed.

[0087] Furthermore, the method proposed in this invention does not rely on excessive external sensor input, but instead infers the path based on the robot's current position, shape information, etc. Therefore, it can maintain good path selection and traversal performance even in relatively simple or dynamically changing environments, ensuring that the robot can complete tasks smoothly and safely in complex environments. It is suitable for application in robot navigation systems that require high precision and smooth driving.

[0088] Further, please see Figures 10-11 The method further includes:

[0089] S600: After achieving full path coverage of the first region, the first region is scanned again. Based on the scan results, it is determined whether there is a second region connected to the first region that has not achieved full path coverage. If a second region exists, the robot moves to the second region and identifies the second region as the new first region. Step S100 is then executed again.

[0090] Therefore, the method proposed in this invention can be applied to multiple connected areas. After the robot completes the path coverage of one area, it can scan and confirm other areas that have not been covered by the path without relying on user instructions, thereby completing the path coverage of each different area.

[0091] Example 2

[0092] This embodiment proposes a robot full path coverage planning device to implement the robot full path coverage planning method proposed in Embodiment 1. Please refer to [link to related documentation]. Figure 12 The device includes:

[0093] The scanning module 10 is used to scan the first region in response to a scanning command, so as to determine a first shape of the first region and a second shape surrounding the first shape based on the scanning result.

[0094] The second movement module 20 is used to determine a third path based on the robot's current position and first shape, and to enable the robot to move based on the third path;

[0095] The first moving module 30 is used to determine a first path based on the robot's current position, first shape, and second shape, and to enable the robot to move based on the first path;

[0096] The obstacle correction module 40 is used to respond to a collision command received by the robot during movement based on the first path or the third path, to rescan the first area, to redetermine the first shape based on the scan result, to determine the second path based on the robot's current position and the newly determined first shape, and to redetermine the first path or the third path so that the robot moves based on the second path, so that when the robot has completed traversing the second path, the robot can move again based on the first path or the third path.

[0097] In this embodiment, the second shape includes a rectangle that surrounds the first region. Preferably, the second shape may include the smallest rectangle that can surround the first region.

[0098] Specifically, the third path is determined based on the edge of the first shape. If there is no obstacle inside the first shape, the edge of the first shape only includes the outer edge; if there is an obstacle inside the first shape, the edge of the first shape may include the outer edge and the inner edge, or still only the inner edge. The third path determined by the second movement module 20 may include the edge of the first shape, as well as the shortest movement path between the robot's current position and the edge of the first shape.

[0099] In this embodiment, after the second moving module 20 enables the robot to complete the traversal of the third path, the first moving module 30 executes the preset steps; after the first moving module 30 enables the robot to complete the traversal of the first path, full path coverage of the first region is achieved.

[0100] It should be noted that the obstacle correction module 40 redetermines the first and third paths in the same way as the first movement module 30 and the second movement module 20. Through the obstacle correction module 40, the device proposed in this embodiment can detect dynamic obstacles. When the robot collides with an obstacle that was not detected before during its movement, the obstacle will be identified as a dynamic obstacle, and a second path will be generated around the dynamic obstacle. This allows the robot to circle around the dynamic obstacle once based on the second path, and the first and third paths will be replanned.

[0101] Preferably, the device further includes:

[0102] The period correction module 50 is used to scan the first region based on a preset frequency, so as to redetermine the first shape according to the scanning result. If the currently determined first shape is different from the previously determined first shape, and the robot is currently moving based on the first path, the first path is re-determined and the robot moves based on the currently determined first path.

[0103] If the currently determined first shape differs from the previously determined first shape, and the robot is currently moving along a third path, the third path is redefined, and the robot moves along the currently determined third path.

[0104] Similarly, the cycle correction module 50 redetermines the first path and the third path in the same way as the first movement module 30 and the second movement module 20. The cycle correction module 50 enables the robot to obtain changes in the current environment in real time, especially obstacles that may appear during movement, changes in the position of obstacles, or changes in the shape of the area, so as to ensure that the robot can continuously adapt to changes in the dynamic environment and maintain effective path planning, thereby achieving more accurate and reliable full path coverage.

[0105] When the functions of obstacle correction module 40 and periodic correction module 50 are combined, in addition to detecting obstacles before a collision, obstacles can also be detected in advance through periodic scanning. Furthermore, the robot can detect whether there are dynamic obstacles in the scanning results of scanning module 10, thereby improving the robot's adaptability in dynamic environments, enhancing the flexibility of path planning, and ensuring the integrity and safety of path coverage.

[0106] The area movement module 60 is used to scan the first area again after achieving full path coverage of the first area, and determine whether there is a second area connected to the first area that has not achieved full path coverage based on the scanning results. When a second area exists, the robot moves to the second area and identifies the second area as the new first area, so that the scanning module 10 executes the preset steps again.

[0107] Therefore, the device proposed in this invention can be applied to multiple connected areas. After the robot completes the path coverage of one area, it can scan and confirm other areas that have not been covered by the path without relying on user instructions, thereby completing the path coverage of each different area.

[0108] Specifically, the first moving module 30 includes:

[0109] The starting unit 31 is used to determine the major axis of the second shape as the first direction, generate a scatter plot according to the first shape, determine the distance from the robot's current position to each endpoint in the scatter plot that is perpendicular to the first direction, select the endpoint closest to the first direction as the starting endpoint, determine the direction of the robot's current position starting endpoint as the second direction, and make the robot move along the second direction to the starting endpoint.

[0110] The first detection unit 32 is used to determine the line segment in the scatter plot that is parallel to the first direction and has not been traversed and is closest to the robot's current position.

[0111] The line segment movement unit 33 is used to plan the path for the robot to move to the first endpoint of the line segment that is closer to the robot's current position, so that the robot moves to the first endpoint, and after the robot moves to the first endpoint, the robot moves along a straight line to the second endpoint of the line segment, so as to determine the line segment as a traversed line segment.

[0112] The second detection unit 34 is used to determine, based on the second direction, the line segment that is parallel to the first direction and has not been traversed that is closest to the robot's current position in the scatter plot;

[0113] The third detection unit 35 is used to move the robot along a straight line from the second endpoint of the current line segment to the first endpoint of the current line segment, and again determine the line segment that is parallel to the first direction and has not been traversed and is closest to the robot's current position in the scatter plot based on the second direction.

[0114] Specifically, if the second detection unit 34 detects a line segment that meets the conditions, the line segment moving unit 33 executes the preset procedure again; if the second detection unit 34 does not detect a line segment that meets the conditions, the third detection unit 35 executes the preset procedure.

[0115] If the third detection unit 35 detects a line segment that meets the conditions, the line segment moving unit 33 will execute the preset procedure again; if the third detection unit 35 does not detect a line segment that meets the conditions, the first detection unit 32 will execute the preset procedure so that when the first detection unit 32 also does not detect a line segment that meets the conditions, the traversal of the first path is completed.

[0116] Therefore, the first moving module 30 will repeatedly search and adjust to ensure that the robot always selects the line segment that is closest to the current position and has not been traversed, making the path traversal more efficient, avoiding repeated paths and invalid loops, and improving work efficiency. When the robot cannot find a new line segment during the traversal, the solution will backtrack to the previous step and search again. The dynamic adjustment method can effectively deal with unexpected situations and ensure that the path traversal is not missed.

[0117] Furthermore, the device proposed in this invention does not rely on excessive external sensor input, but instead infers the path based on the robot's current position, shape information, etc. Therefore, it can maintain good path selection and traversal performance even in relatively simple or dynamically changing environments, ensuring that the robot can complete tasks smoothly and safely in complex environments. It is suitable for application in robot navigation systems that require high precision and smooth driving.

[0118] Example 3

[0119] This embodiment proposes a robot for implementing the robot full path coverage planning method proposed in Embodiment 1.

[0120] Specifically, the robot proposed in this embodiment includes a scanning module and a collision detection module. The scanning module is used to scan the area where the robot is located and the objects in the area, while the collision detection module is used to detect collisions that the robot experiences during its movement.

[0121] Optionally, the robot proposed in this embodiment may include, but is not limited to, cleaning robots and inspection robots.

[0122] In summary, this invention provides a robot full path coverage planning method, device, and robot. The proposed solution can acquire environmental information in real time and plan paths based on the current environmental conditions, which can help the robot to detect and avoid obstacles in a timely manner, avoid collisions and stalls caused by path planning errors, and effectively cope with environmental changes or uncertainties through dynamic scanning and path adjustment, reduce errors and obstacle interference, thereby efficiently and comprehensively completing full path coverage within the area.

[0123] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the protection scope of the present invention.

Claims

1. A method of robot full path coverage planning, characterized by, The method comprises: in response to a scanning instruction, scanning the first region to determine a first shape of the first region and a second shape enclosing the first shape according to a scanning result; the second shape comprises a rectangle enclosing the first region; determining a first path based on a current position of the robot, the first shape and the second shape, and moving the robot based on the first path; in response to a collision instruction received by the robot during movement based on the first path, re-scanning the first region to re-determine the first shape according to a scanning result, determining a second path based on a current position of the robot and the newly determined first shape, re-determining the first path, moving the robot based on the second path, and moving the robot based on the first path again after the robot completes traversal of the second path, so as to achieve full path coverage of the first region when the robot completes traversal of the first path; the "determining a first path based on a current position of the robot, the first shape and the second shape, and moving the robot based on the first path" comprises: determining a long axis of the second shape as a first direction, generating a scatter plot according to the first shape, determining distances from the current position of the robot to each endpoint perpendicular to the first direction in the scatter plot, selecting a start endpoint as the closest endpoint, determining a direction in which the current position of the robot extends to the start endpoint as a second direction, and moving the robot to the start endpoint along the second direction; determining a line segment closest to the current position of the robot and parallel to the first direction in the scatter plot and not traversed; planning a path for the robot to move to a first endpoint of the line segment closer to the current position of the robot, moving the robot to the first endpoint, and moving the robot to a second endpoint of the line segment along a straight line after the robot moves to the first endpoint, so as to determine the line segment as a traversed line segment; determining a line segment closest to the current position of the robot and parallel to the first direction in the scatter plot based on the second direction and not traversed, so as to perform the "planning a path for the robot to move to a first endpoint of the line segment closer to the current position of the robot" again.

2. The method of claim 1, wherein, The method further comprises: if no line segment closest to the current position of the robot and parallel to the first direction in the scatter plot based on the second direction is detected, moving the robot to a first endpoint of the current line segment from a second endpoint of the current line segment along a straight line, and determining a line segment closest to the current position of the robot and parallel to the first direction in the scatter plot based on the second direction again, so as to perform the "planning a path for the robot to move to a first endpoint of the line segment closer to the current position of the robot" again.

3. The method of claim 2, wherein, The method further comprises: after moving the robot along a straight line from a second endpoint of the current line segment to a first endpoint of the current line segment, if no line segment parallel to the first direction and not traversed is detected in the scatter plot based on the second direction, performing again the step of determining in the scatter plot the line segment parallel to the first direction and not traversed closest to the current position of the robot; if no line segment parallel to the first direction and not traversed is detected in the scatter plot closest to the current position of the robot, determining that the robot has completed the traversal of the first path.

4. The method of claim 2, wherein, The path along which the robot moves from an endpoint of a line segment to an endpoint of another line segment includes a circular arc.

5. The method according to any one of claims 1 to 4, characterized in that, The method further comprises: based on a preset frequency, scanning the first region to re-determine the first shape according to the scanning result, re-determining the first path if the currently determined first shape is different from the previously determined first shape, and moving the robot based on the currently determined first path.

6. The method according to claim 1 or 3, characterized in that, The method further comprises: after achieving full path coverage of the first region, scanning the first region again, determining whether there is a second region connected to the first region and not achieving full path coverage according to the scanning result, and when there is a second region, moving the robot to the second region, determining the second region as a new first region, and performing again the step of scanning the first region to determine the first shape of the first region and the second shape surrounding the first shape according to the scanning result.

7. The method of claim 1, wherein, The method further comprises: before determining the first path and moving the robot based on the first path, determining a third path based on the current position of the robot and the first shape, and moving the robot based on the third path until the robot completes the traversal of the third path; the third path includes an edge of the first shape and a shortest moving path between the current position of the robot and the edge of the first shape.

8. A robot full path coverage planning apparatus characterized by comprising: The device comprises: a scanning module configured to scan a first region in response to a scanning instruction to determine a first shape of the first region and a second shape surrounding the first shape according to a scanning result; the second shape includes a rectangle surrounding the first region; a first moving module configured to determine a first path based on a current position of the robot, the first shape and the second shape, and move the robot based on the first path; and when the robot completes the traversal of the first path, achieve full path coverage of the first region. an obstacle correction module configured to, in response to a collision instruction received by the robot during movement based on the first path, re-scan the first region to re-determine the first shape based on the scan result, determine a second path based on a current position of the robot and the newly determined first shape, and re-determine the first path, and cause the robot to move based on the second path, and then cause the robot to move based on the first path again after the robot has completed traversal of the second path; the first movement module comprises: a starting unit configured to determine a long axis of the second shape as a first direction, generate a scatter plot based on the first shape, determine distances from the current position of the robot to each endpoint of the scatter plot that is perpendicular to the first direction, select a closest endpoint as a starting endpoint, determine a direction in which the current position of the robot extends to the starting endpoint as a second direction, and cause the robot to move to the starting endpoint along the second direction; a first detection unit configured to determine, in the scatter plot, a line segment that is parallel to the first direction and untraversed and closest to the current position of the robot; a line segment movement unit configured to plan a path for the robot to move to a first endpoint of the line segment that is closer to the current position of the robot, cause the robot to move to the first endpoint, and after the robot has moved to the first endpoint, cause the robot to move to a second endpoint of the line segment along a straight line to determine the line segment as a traversed line segment; a second detection unit configured to determine, in the scatter plot, a line segment that is parallel to the first direction and untraversed and closest to the current position of the robot based on the second direction.

9. A robot, characterized in that A method as claimed in any one of claims 1 to 7. A method as claimed in any one of claims 1 to 7.

Citation Information

Patent Citations

  • Path planning method of cleaning robot and cleaning robot

    CN112631281A

  • Cleaning path planning method and device and related product

    CN117991763A