Robot continuation travel planning method based on obstacle inflation processing
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- AMICRO SEMICONDUCTOR CO LTD
- Filing Date
- 2024-12-20
- Publication Date
- 2026-06-30
Smart Images

Figure CN122308347A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning technology, and in particular to a robot continuation planning method based on obstacle expansion processing. Background Technology
[0002] In the working environment of a robotic vacuum cleaner, there are currently cleaned room areas and uncleaned room areas defined by walls. There are also non-working areas between the currently cleaned room areas and uncleaned room areas. These non-working areas generally refer to narrow passages (slightly wider than the width of the robot's body), referred to as narrow passages. The entrance and exit of the narrow passages are both set as narrow passage openings. Thus, the working environment of the robotic vacuum cleaner is divided into narrow passages or multiple room areas with narrow passages by wall obstacles.
[0003] Currently, to avoid getting tangled in low, dangerous obstacles such as wires and socks during cleaning, robotic vacuum cleaners perform obstacle avoidance. Furthermore, when a room is completely divided by obstacles or virtual walls, to prevent some areas from being missed or unselected due to proximity navigation principles, Chinese invention patent application number 202210620283.4 discloses a control method for zoned cleaning of a robotic vacuum cleaner. This method requires the robot to mark its expanded cleaning trajectory as obstacles. Specifically, after cleaning each area, the cleaning trajectory is expanded by the robot's radius pixels so that pixels between the obstacle and the robot's cleaning trajectory are considered cleaned, preventing... When a cleaning robot locates itself, it locates the area between the cleaning path and an obstacle, or the area between two cleaning paths. However, in practical applications, when a dangerous obstacle is located near a narrow passage leading to the next room, all the grids representing the path to the entrance of the narrow passage are marked as obstacle grids. When the robot detects a detected obstacle, it will make a sharp turn to avoid it. This is to prevent the robot from navigating to the nearest obstacle. Since the robot will go a long distance around the obstacle, it will often bypass the passage and form a closed path. Therefore, some passable areas near the passage will still be missed and not cleaned, making it impossible for the robot to pass through the passage to continue cleaning the next area. Summary of the Invention
[0004] This application proposes a robot continuation planning method based on obstacle expansion processing, and the specific technical solution is as follows: A robot path planning method based on obstacle expansion processing includes the following steps: Step A: When the robot scans for dangerous obstacles in the current working area using sensors, it marks the area occupied by the dangerous obstacle on the map, then expands the area occupied by the dangerous obstacle to obtain an expanded map, and marks the expanded area of the dangerous obstacle and the corresponding expanded obstacle avoidance area in the expanded map. Then, the robot walks along the boundary of the expanded area of the dangerous obstacle to avoid the dangerous obstacle in the current working area according to the obstacle avoidance boundary of the expanded map. At the same time, the path formed by the robot walking along the obstacle avoidance boundary of the expanded map is marked as an edge-closed path in the edge-marked map; then, Step B is executed; wherein, the obstacle avoidance boundary of the expanded map includes the boundary of the expanded area of the dangerous obstacle; Step B: The robot clears the expanded obstacle avoidance area corresponding to the dangerous obstacle in the expanded map to obtain a preprocessed map; then, the preprocessed map is further processed... The map is processed using a flood filling algorithm to fill in a passable area for the robot to move out of the current working area; then step C is executed; in step C, the robot removes the edge compensation path from the edge-closed path to obtain the effective edge path; then step D is executed; wherein, the edge compensation path is the path formed by the robot moving along the virtual edge boundary marked in the edge-marked map during the robot's movement along the obstacle boundary of the extended map; the virtual edge boundary is the boundary of the area occupied by the virtual obstacle; the expanded obstacle avoidance area corresponding to the dangerous obstacle includes the area occupied by the virtual obstacle; in step D, the target navigation point is calculated by combining the passable area filled in the preprocessed map and the effective edge path obtained in the edge-marked map; then step E is executed; in step E, the robot is guided to the target navigation point by judging the area where the target navigation point is located and the reachability of the target navigation point, so that the robot moves to the unworked area.
[0005] In summary, compared with the prior art, this application removes the closed boundary factors caused by the virtual obstacle-occupied area within the expanded obstacle avoidance area corresponding to dangerous obstacles in the expanded map by executing steps A to E, and removes the closed path factors caused by the edge compensation path from the edge closed path, correspondingly restoring an actual passageway. The passable area leading to other work areas, filled by the flood filling algorithm, can then participate in path search, searching for the target navigation point and its path leading to the unworked area. This not only avoids the target navigation point being calculated on the obstacle-occupied area actually scanned by the sensor, but also provides path and location information for the robot to automatically move to the unworked area after finishing the current work area. This overcomes the problem of missed operations in the originally connected area due to long-distance obstacle avoidance of dangerous obstacles, thereby improving the robot's work coverage and intelligence.
[0006] Further, step E specifically includes: Step E1, determining whether a target navigation point exists in an unworked area; if yes, proceed to step E2; otherwise, proceed to step A; Step E2, the robot identifies the target navigation point in the unworked area; then proceed to step E3; Step E3, determining whether the target navigation point in the unworked area is reachable from the robot's current position; if yes, the robot plans a navigation path with the target navigation point in the unworked area as its endpoint, allowing the robot to walk along the navigation path to the unworked area; otherwise, proceed to step A; wherein, the unworked area is separated from the current working area by the virtual edge boundary cleared in step B or the edge compensation path cleared in step C, and the unworked area in step A is located outside the area enclosed by the obstacle boundary of the extended map. This filters out navigation paths associated with openings between dangerous obstacles and other obstacles (openings that may be closed by virtual edge boundaries), making the robot's navigation from the current position to the target navigation point smoother or the navigation path shorter, reducing the impact of being blocked by closed obstacles and improving the robot's working efficiency.
[0007] Furthermore, whenever the robot moves to the unworked area by executing step E3, the unworked area is updated to the current work area, and steps A to E are repeated until the robot has traversed all the pre-defined work areas. This overcomes the problem of new missed work areas caused by the robot avoiding dangerous obstacles over long distances, by opening up passageways between different work areas and defining the target navigation points that need to be reached sequentially, allowing the robot to fill in all the missed work areas on the map.
[0008] Furthermore, before the robot removes the edge compensation path from the edge-closed path in step C, the edge-closed path forms a closed area, preventing the robot from entering the unworked area after traversing the area enclosed by the obstacle boundary of the extended map. After the robot removes the edge compensation path from the edge-closed path in step C, a gap appears in the closed area enclosed by the edge-closed path to connect to the narrow passage. The location of the virtual edge boundary is the narrow passage, and the distance between the narrow passage and the dangerous obstacle is less than the distance between the narrow passage and other types of obstacles, so that the robot can bypass the virtual edge boundary while walking along the boundary of the dangerous obstacle's expanded area.
[0009] Furthermore, if the robot determines that the width of the narrow passage is greater than or equal to its body width, it determines that the target navigation point is reachable relative to the robot's current position, and the unworked area is a work area that the robot has not yet traversed and is passable. If the robot determines that the width of the narrow passage is less than its body width, it determines that the target navigation point is not reachable relative to its current position. In this case, the narrow passage currently determined by the robot does not allow free passage, and steps A to E need to be re-executed. This ensures that after the corresponding edge compensation path is cleared from the edge-closed path, the width of the resulting gap is greater than or equal to the robot's body width, allowing the robot to enter the unworked area and preventing the robot from missing the work area led to by the narrow passage near dangerous obstacles.
[0010] Further, in step A, the robot sequentially connects the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map, as scanned by the robot's sensors, to form the obstacle avoidance boundary. This boundary is then mapped onto the edge-marked map to mark the closed edge path. The robot avoids the dangerous obstacle by walking along the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map, as scanned by the robot's sensors. The virtual edge boundary is the boundary of the area occupied by the virtual obstacle, where no obstacles are detected by the sensors. The virtual edge boundary is located between the boundaries of two adjacent obstacles, forming a boundary that prevents the robot from passing into the unworked area by connecting the boundaries of two adjacent obstacles. This ensures the robot's safety.
[0011] Further, in step A, the method for expanding the area occupied by the dangerous obstacle includes: using the center of the area occupied by the dangerous obstacle as the expansion center, expanding outward according to the expansion radius to obtain the expanded dangerous obstacle area; using the center of the area occupied by the dangerous obstacle as the expansion center, expanding outward according to the obstacle avoidance radius to obtain the expanded obstacle avoidance area corresponding to the dangerous obstacle; wherein, the expansion radius is smaller than the obstacle avoidance radius; both the expanded dangerous obstacle area and the expanded obstacle avoidance area corresponding to the dangerous obstacle are located outside the area occupied by the dangerous obstacle. When the expanded obstacle avoidance area corresponding to the dangerous obstacle is subsequently cleared through steps B and C, it not only does not affect the actual obstacle labeling information, but also allows the robot to navigate to and from the narrow passage where the virtual edge boundary is located.
[0012] Further, in step B, after the robot clears the inflated obstacle avoidance area corresponding to the dangerous obstacle in the extended map, it is determined that the virtual obstacle has been cleared from the extended map, and the area occupied by the dangerous obstacle is retained. The area occupied by the virtual obstacle is no longer used as an area in the extended map that obstructs the robot's passage. A gap is opened in the area occupied by the virtual obstacle for the flood filling algorithm to fill the passable area, so that the extended map becomes the preprocessed map. This application executes the flood filling algorithm in the map area where the inflated obstacle avoidance area has been cleared, thereby opening a gap in the area occupied by the virtual obstacle that was originally closed by the virtual edge boundary in the inflated obstacle avoidance area. This allows the unworking area led to by the gap and other working areas on one side to be transformed from unworking areas into the next working area. It prevents the gap between the dangerous obstacle and the wall obstacle from being marked as an equivalent obstacle boundary (i.e., the virtual edge boundary) because the robot walks around the dangerous obstacle. It does not abandon the traversal of the next working area for the robot's complete edge-bypass behavior formed in the same working area.
[0013] Further, in step B, the method of performing the flood fill algorithm on the preprocessed map includes: Step B1, in the preprocessed map, selecting a pixel in the unworked area as the current judgment center using the flood fill algorithm, and then executing step B2; Step B2, determining whether the current judgment center overlaps with the robot's current position, if so, determining that the robot's current position is connected to the unworked area, and filling in a passable area for the robot to walk through to fill the current work area, thereby determining the passage direction of the passable area, otherwise executing step B3; the passage direction of the passable area includes the direction from the current work area to the unworked area; Step B3, updating the pixel adjacent to the current judgment center and having the same grayscale value as the current judgment center, and then executing step B2. The current judgment center is updated repeatedly, and a grayscale value judgment is performed after each update, until no pixel with the same grayscale value as the current judgment center is found in the preprocessed map, or the current judgment center is the robot's current position. This completes the flood filling operation, allowing the robot to re-evaluate the path traversability in the preprocessed map and subsequently calculate the target navigation point within the filled area.
[0014] Further, in step C, when removing the edge compensation path from the edge-closed path in the edge-marked map, the path required for the robot to walk along the boundary of the virtual obstacle-occupied area within the inflated obstacle avoidance area corresponding to the dangerous obstacle is not counted as the path required for the robot to walk along the obstacle, thus creating a gap in the edge-closed path at the edge compensation path; wherein, there is no dangerous obstacle-occupied area within the virtual obstacle-occupied area. The passability of the gap can then be evaluated using the boundary of the virtual obstacle-occupied area and the corresponding marked edge compensation path.
[0015] Further, in step D, the method for calculating the target navigation point by combining the passable area filled in the preprocessed map and the effective path along the edge obtained from the edge-marked map includes: searching for the target navigation point using a path search algorithm based on the effective path along the edge, according to the travel direction of the passable area filled in the preprocessed map, so that when the robot walks from its current position to the target navigation point, it has already walked out of the current working area and / or entered the non-working area. After the navigation path is planned, the robot walks along the navigation path and will not walk towards these connected areas with unreasonable gap widths, nor will it bypass narrow passages wider than the robot body width to avoid dangerous obstacles. Attached Figure Description
[0016] Figure 1 This is a flowchart illustrating a robot continuation planning method based on obstacle expansion processing, as disclosed in one embodiment of this application.
[0017] Figure 2 This is a schematic diagram of an embodiment of the present application disclosing a robot marking dangerous obstacles and planning a closed path along the edge, wherein the dashed line AB represents a virtual edge boundary.
[0018] Figure 3 This is a schematic flowchart of a method for guiding a robot to the target navigation point in step E, as disclosed in one embodiment of this application. Detailed Implementation
[0019] The technical solutions of the embodiments of this application will be described in detail below with reference to the accompanying drawings. To further illustrate the embodiments, this application provides accompanying drawings. These drawings are part of the disclosure of this application and are mainly used to illustrate the embodiments, and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments.
[0020] Figure 2The scenario depicts a circular robotic vacuum cleaner missing a narrow path within its current work area. A dangerous obstacle (such as a tangled sock or electrical wire) is placed at the entrance to this narrow path. When the robot encounters this obstacle while cleaning along the boundary of its current work area, it adjusts its obstacle avoidance distance relative to other boundaries, traveling a greater distance around the obstacle. This often results in the robot bypassing the narrow path, thus creating a closed path within its current work area. Figure 2 As shown in the closed path along the edge, when the robot bypasses the narrow passage, it marks the narrow passage as an obstacle that it needs to traverse along the edge. As a result, even if the robot sweeps the current working area, it cannot go to the unworking area to clean, thus resulting in missed cleaning.
[0021] To avoid marking entrances to passages that would normally allow robots to enter unworked areas as obstacle zones and defining them as impassable areas by the robot in scenarios involving long-distance obstacle avoidance, and to solve the problem of missed scans caused by long-distance obstacle avoidance of dangerous obstacles, this application discloses a robot continuation planning method based on obstacle expansion processing. For obstacle images marked in the map image, the robot moves around obstacles according to the expanded boundaries during obstacle avoidance, thus maintaining the robot's ability to continue moving between different work areas.
[0022] The robot's path planning method is executed by a robot equipped with a ranging sensor. In this application, the robot's path planning method is executed automatically by the robot, which can accept human input commands, run pre-programmed instructions, and autonomously formulate and execute tasks based on artificial intelligence technology.
[0023] The robot's location on the map is determined by the pixel at its center. Its movement trajectory is the path of this central pixel. Since the robot has a radius, when it moves along or around an obstacle, it always maintains a distance of a radius (or the radius of the expanded obstacle if it's inflated) from the obstacle, and is positioned closer to the obstacle. This means there's a certain gap between the movement trajectory and the obstacle; this movement trajectory is separately labeled as edge information. Pixels between the obstacle and the robot's movement trajectory are not explicitly on the robot's path, but these pixels are considered cleaned. In order to distinguish the uncleaned areas, each time it is necessary to bypass obstacles, the area occupied by the obstacle will be expanded by a certain radius, especially dangerous obstacles (entanglement type obstacles that are easy to get tangled in the robot's wheels). It is necessary to stay away from the dangerous obstacle and then keep a long distance to bypass the dangerous obstacle. However, when expanding dangerous obstacles, it is easy to cover non-obstacle areas as well. This will also mark the obstacle areas that are not scanned and marked by the line laser (such as free passage areas) as obstacles that need to be bypassed. It is necessary to use the robot continuing to plan the path disclosed in this application to clear them, so as to ensure that the robot has a passable area to reach the unworked area (including the missed work area).
[0024] In this application, if there are instances where the work area is missed due to long-distance obstacle avoidance hazards, the robot executes a robot continuation planning method based on obstacle expansion processing, such as... Figure 1 As shown, the robot continuation planning method includes: Step A: When the robot detects a dangerous obstacle using its sensors, it marks the area occupied by the dangerous obstacle on the map. For example, according to a pre-set size threshold, the robot uses a line laser sensor or depth camera at the same location to scan for entangled obstacles as dangerous obstacles (refer to paragraph
[0041] of the specification of Chinese Invention Patent Application No. CN202011159235.7 for identification of entangled obstacles), and marks the dangerous obstacle at the corresponding location on the map; the area occupied by the dangerous obstacle becomes the image area on the map. Then, the robot expands the area occupied by the dangerous obstacle to obtain an expanded map. In the expanded map, the expanded dangerous obstacle area is obtained from the expanded dangerous obstacle area, and the expanded obstacle avoidance area corresponding to the dangerous obstacle is also obtained. The expanded dangerous obstacle area and the expanded obstacle avoidance area corresponding to the dangerous obstacle are then marked on the expanded map, thus determining the boundary of the relevant expanded area, which can be a closed boundary. The expanded obstacle avoidance area corresponding to the dangerous obstacle will cover the expanded dangerous obstacle area.
[0025] The robot then moves along the boundary of the expanded hazardous obstacle area to bypass the hazardous obstacle within the current working area according to the obstacle avoidance boundary of the expanded map. After moving along the boundary of the expanded hazardous obstacle area or bypassing the hazardous obstacle, it also bypasses it. Figure 2 The narrow passage near the dangerous obstacle shown is in Figure 2 The passageway between the current working area and the unworking area is separated by a dashed closed path. The robot cannot enter the unworking area via the dashed line AB while walking along the obstacle boundary. The robot continues to walk along the boundaries of other obstacles within the current working area. It will also traverse the passable area within the current working area or the closed area enclosed by the obstacle boundary of the extended map according to a preset planned path (e.g., a bow-shaped path, a U-shaped path, or other globally covering path). While the robot is moving, the path formed by the robot walking along the obstacle boundary of the extended map is marked as a closed path within the edge-marked map. The boundary of the expanded area of the dangerous obstacle is marked as a sub-path of the closed path at the corresponding position within the edge-marked map. Since the unworking area becomes a missed working area, step B needs to be executed so that the robot does not immediately stop working after completing the current working area, but instead determines whether the robot needs to continue to other missed areas for supplementary work.
[0026] Preferably, when the robot has traversed the current working area, since the area enclosed by the closed path is a closed area, the robot can update the area enclosed by the closed path to the current working area; that is, the current working area is the area enclosed by the closed path. Figure 2 The enclosed area marked by dashed lines corresponds to and covers all obstacles marked on the extended map. The robot can perform obstacle avoidance operations over long distances by following the closed paths marked on the map, avoiding contact with dangerous obstacles and ensuring the safety of the robot. However, because the closed paths enclose the area, the robot cannot find the entrance to the unworked area; then step B is executed.
[0027] It should be noted that the obstacle avoidance boundary of the extended map includes the boundary of the expansion area of dangerous obstacles, the boundary of the area occupied by other types of obstacles in the extended map, and the virtual edge boundary for connecting with the aforementioned boundaries to form a closed area; when the robot walks along the obstacle avoidance boundary, it will mark the route it has traveled in the edge marking map, and the marking information in the edge marking map can be recorded as obstacles.
[0028] Step B: The robot clears the expanded obstacle avoidance area corresponding to the dangerous obstacles in the expanded map to obtain a preprocessed map, which provides more passable areas while retaining the areas occupied by dangerous obstacles in the preprocessed map; then, the flood filling algorithm is executed on the preprocessed map to fill out passable areas for the robot to walk out of the current working area. The target point for the robot to walk out of the current working area can be searched through the filled passable areas; then, step C is executed.
[0029] In step B, the expanded obstacle avoidance zone corresponding to a dangerous obstacle is located outside the area occupied by the dangerous obstacle. This expanded obstacle avoidance zone includes both the expanded dangerous obstacle area and the area occupied by virtual obstacles. The virtual obstacle area contains no obstacles detected by the sensor. Virtual obstacles are not detected by the sensor, but they are a type of obstacle that needs to be labeled to connect with the boundaries of the areas occupied by the sensor-detected obstacles within the expanded map, forming a closed boundary. Virtual obstacles are cleared during the process of clearing the expanded obstacle avoidance zone corresponding to a dangerous obstacle within the expanded map, and the boundaries of the virtual obstacle-occupied areas are also cleared, thus providing more passable areas through the floodfill algorithm.
[0030] Step C: The robot clears the edge compensation path from the closed edge path to obtain an effective edge path. This can be considered as the robot clearing the edge compensation path in the edge-marked map while clearing the expanded obstacle avoidance area corresponding to the dangerous obstacle in the expanded map, and then proceeding to step D. In step C, the edge compensation path is the path that the robot needs to form along the virtual edge boundary, which is marked in advance in the edge-marked map. That is, the path marked in order to connect with the path marked in the edge-marked map for the required edge movement of the robot to the obstacles scanned by the sensors to form a closed path (where the section at the passage entrance is such as...). Figure 2 (As shown by the dashed line AB).
[0031] It is worth noting that the edge-marked map and the extended map are not the same frame map. The robot marks the boundary of the area occupied by the virtual obstacle as the virtual edge boundary, and marks the path required for the robot to walk along the virtual edge boundary as the edge compensation path in the edge-marked map. After clearing the edge compensation path, it is equivalent to restoring an actual passage in the closed edge path. At the same time, after clearing the expanded obstacle avoidance area corresponding to the dangerous obstacle in the extended map, the obstacle avoidance boundary of the extended map also restores an actual gap to lead to other working areas. This gap can then participate in the path search in step D, searching for target points that can be traversed to unworking areas with other dangerous obstacles or other traversable working areas, avoiding the calculation of target points on the obstacle-occupied area actually scanned by the sensor.
[0032] Step D: Combining the passable area provided by the preprocessed map and the effective edge path obtained from the edge-marked map, calculate the target navigation point, and then execute Step E. The robot, within the passable area provided by the preprocessed map, can start from the position corresponding to the endpoint of the effective edge path and walk across the virtual edge boundary until it reaches the target navigation point, thus leaving the current working area and resolving the path closure problem caused by the aforementioned long-distance obstacle avoidance. However, when the robot walks towards the target navigation point, it may not necessarily be entering the unworking area. Therefore, Step E needs to be executed to further determine whether the target navigation point located in the unworking area (the working area created by the aforementioned long-distance obstacle avoidance) has navigation value.
[0033] Step E: By determining the location and reachability of the target navigation point, the robot is guided towards the target navigation point, thus leading the robot to an unworked area. In Step E, the robot determines whether the area where the target navigation point is located is an unworked area, including whether it is an unworked area or an area where work has been missed. When the area where the target navigation point is located is an unworked area, it is determined that the robot has unworked areas that need to be traversed, i.e., there are missed work areas. Simultaneously, it determines whether the target navigation point is reachable. The robot calculates the path to the target navigation point using the target navigation point, performs corresponding path planning, determines the navigation path, and then automatically follows the navigation path to the unworked area to perform the work. In this application, the unworked area is located outside the closed area enclosed by the obstacle avoidance boundary, and the passable area provided by the preprocessed map is connected to the unworked area. When multiple areas are involved, this application can label the current work area and the unworked area as the current work area and the next work area, respectively.
[0034] Before the robot leaves the current work area, steps A to D are executed to clear the expanded obstacle avoidance areas corresponding to dangerous obstacles marked on the map. This allows the flood filling algorithm to effectively pass through narrow passages to connect to work areas outside the current work area, and the robot can reassess the path's drivability. Therefore, when the robot misses areas due to dangerous obstacles requiring long-distance obstacle avoidance (specifically including work areas that should have been covered within the current work area but are separated by obstacle boundaries and considered disconnected), the robot will not immediately stop working after completing the work in the current work area. Instead, it will determine whether supplementary work is needed. These work areas requiring supplementary work are marked as unworked areas in this application. The robot will obtain the target navigation point by executing steps A to D, and then determine whether supplementary work is needed in the area where the target navigation point is located by executing step E.
[0035] In summary, compared with the prior art, this application removes the closed boundary factors caused by the virtual obstacle-occupied area within the expanded obstacle avoidance area corresponding to dangerous obstacles in the expanded map by executing steps A to E, and removes the closed path factors caused by the edge compensation path from the edge closed path, correspondingly restoring an actual passageway. The passable area leading to other work areas, filled by the flood filling algorithm, can then participate in path search, searching for the target navigation point and its path leading to the unworked area. This not only avoids the target navigation point being calculated on the obstacle-occupied area actually scanned by the sensor, but also provides path and location information for the robot to automatically move to the unworked area after finishing the current work area. This overcomes the problem of missed operations in the originally connected area due to long-distance obstacle avoidance of dangerous obstacles, thereby improving the robot's work coverage and intelligence.
[0036] As one embodiment, the specific execution flow of step E is as follows: Figure 3 As shown, the method for guiding the robot to the target navigation point by determining the area where the target navigation point is located and its reachability specifically includes: Step E1: Determine if there is a target navigation point located in the unworking area. If yes, proceed to step E2; otherwise, proceed to step A. The aforementioned step D can calculate multiple target points distributed in the same or different areas using traditional heuristic search algorithms. The calculated target points are the aforementioned target navigation points. Therefore, when it is determined that none of the target navigation points calculated in step D are located in the unworking area, the process returns to step A. By re-executing steps A to D, dangerous obstacles are re-scanned by the sensors, and the areas occupied by dangerous obstacles are marked on the map. The robot then expands the areas occupied by dangerous obstacles to obtain expanded dangerous obstacle areas. The robot then walks along the boundary of the expanded dangerous obstacle areas to continue to avoid dangerous obstacles in the current working area according to the obstacle avoidance boundary of the expanded map. The corresponding expanded obstacle avoidance area and edge compensation path are then cleared. If the target navigation points calculated in step D can fall into the unworking area after repeating the process once, the target navigation points located in the unworking area are selected from the target navigation points calculated in step D. Then, step E2 is executed, and the robot starts path planning for the target navigation points in the unworking area and subsequent working mode planning in the unworking area. Preferably, if the target navigation points calculated in step D cannot fall into the unworking area after repeating the process at least once, the robot's continued walking planning method is stopped.
[0037] Step E2: The robot identifies the target navigation point located in the unworked area; then, step E3 is executed. At this time, the robot identifies the unworked area. Based on steps A to D mentioned in the previous embodiment, it can be seen that the unworked area is separated from the current working area by the virtual edge boundary cleared in step B or the edge compensation path cleared in step C. In step A, the unworked area is located outside the area enclosed by the obstacle boundary of the extended map, so that the current working area and the unworked area are not connected due to the virtual edge boundary. Generally, the unworked area is the next working area that the robot needs to walk to after walking out of the current working area.
[0038] Step E3: Determine whether the target navigation point located in the unworked area is reachable from the robot's current position. If so, the robot plans a navigation path ending at the target navigation point in the unworked area, allowing the robot to walk along the navigation path to the unworked area. Multiple paths can be planned from the target navigation point determined in Step E1. Illustratively, when planning the path, the robot is generally considered as a circle. To facilitate the robot's movement to the target navigation point in the unworked area, the planned path needs to pass through the virtual edge boundary. The robot uses a heuristic search algorithm to plan multiple paths ending at the target navigation point in the unworked area. It can select the shortest path that passes through the virtual edge boundary without obstruction as the navigation path, filtering out paths associated with openings between dangerous obstacles and other obstacles (openings that may be closed by the virtual edge boundary). This makes the robot's navigation from the current position to the target navigation point smoother or shorter, improving the robot's work efficiency.
[0039] If it is determined that the target navigation point is not reachable relative to the robot's current position and will be blocked by a closed obstacle, the robot executes step A again to continue clearing the boundaries and / or paths within the relevant expanded area in the current working area by re-executing steps A to D, updating and calculating a new batch of target navigation points, and reducing the impact of being blocked by closed obstacles. Specifically, if the target navigation point calculated by repeating step D once can fall into the unworking area, then the target navigation points calculated in the aforementioned step D are selected as being located in the unworking area and reachable relative to the robot. Then, the robot plans a navigation path with the target navigation point located in the unworking area as the endpoint. Preferably, if the target navigation points calculated by repeating step D at least once are not reachable relative to the robot's current position, then the robot continues the planning method.
[0040] In scenarios where the untouched area is a missed area, after cleaning the current working area, the robot can predict, based on the pre-set cleaning strategy, that it might miss some areas when cleaning dangerous obstacles by going around them at a distance. Therefore, the current cleaning state is considered effective. Then, it begins searching for missed areas. For example, after identifying areas outside the obstacle-boundary area or areas separated by virtual edges through steps B to D, it needs to determine if the identified area is a missed area (actually, an area not traversed by the robot). Step E calculates the target navigation point and determines if the target navigation point is located within a missed area. Once a missed area is found and the calculated target navigation point is determined to be within it, a path can be planned using the calculated target navigation point to guide the robot into the missed area. After entering the missed area, the robot can continue scanning for and marking dangerous obstacles. If a new missed area exists, a new cleaning state is determined, and steps A to E are executed to calculate a new target navigation point and plan a path to enter the new missed area.
[0041] Preferably, each time the robot returns from step E to execute step A, it forms a new obstacle avoidance boundary by expanding the boundary of the obstacle avoidance area obtained by the expansion operation of the latest scanned dangerous obstacle. The path that the robot needs to walk along the new obstacle avoidance boundary is then marked as a new edge-closed path. Based on this, the robot updates the area enclosed by the new edge-closed path as the current working area.
[0042] Based on the above embodiments, whenever a new missed work area (new unworked area) is caused by bypassing dangerous obstacles at a long distance in an unworked area, step E3 needs to be executed to determine whether the target navigation point calculated by the robot can guide the robot to the unworked area and plan a navigation path to control the robot to walk to the unworked area so as to continue walking in the unworked area. Therefore, the unworked area is updated to the current work area, and steps A to E are repeated to guide the robot to continue walking from the updated current work area to the new unworked area. This overcomes the problem that the new missed work areas caused by bypassing dangerous obstacles at a long distance are not traversed by the robot until the robot has walked through all the pre-divided work areas (including the current work area and the unworked area). At this time, the robot has walked through all the passable work areas and planned the navigation path between different work areas, opened the passage between different work areas and the target navigation points that need to be reached in sequence, so that the robot can fill in all the missed work areas in the map.
[0043] As one embodiment, the virtual edge boundary is located at a narrow passage, and the distance between the narrow passage and the dangerous obstacle is less than the distance between the narrow passage and other types of obstacles. That is, the dangerous obstacle is the closest obstacle to the narrow passage. This allows the robot to bypass the virtual edge boundary while moving along the boundary of the dangerous obstacle's expanded area. Simultaneously, factors that close the narrow passage during the robot's obstacle avoidance process according to the obstacle avoidance boundary on the expanded map are also considered. Figure 2 As shown, when the robot walks along the obstacle boundary of the extended map, it forms a closed path along the edge as shown in the figure. Although the robot walks around the current working area and avoids dangerous obstacles at a distance, the edge compensation path AB is marked at the narrow passage, so that the robot does not enter the non-working area through the edge compensation path AB.
[0044] Referring to the foregoing embodiment, before the robot removes the edge compensation path from the edge-closed path in step C, the edge-closed path forms a closed area, preventing the robot from entering the unworked area after traversing the area enclosed by the obstacle avoidance boundary of the extended map. Furthermore, after the robot removes the edge compensation path from the edge-closed path in step C, a gap appears in the closed area enclosed by the edge-closed path to connect to the narrow passage entrance, corresponding to... Figure 2 In this scenario, the passageway to the right of the dangerous obstacle can be a small doorway in a room, and the obstacles on both sides of the doorway are the walls in the current work area. The dangerous obstacle is set against the wall. By executing step C, the robot will clear the edge compensation path AB and open the passageway to the right of the dangerous obstacle to access the unworked area. In this way, the robot's passable area is less likely to be trapped by the expanded area of the dangerous obstacle or the closed edge path.
[0045] Based on step E3 mentioned in the above embodiment, when the robot determines that the width of the narrow passage is greater than or equal to the robot's body width, it determines that the target navigation point is reachable relative to the robot's current position, and that the unworked area is a work area that the robot has not yet traversed and is passable. This guides the robot to follow the navigation path and enter the unworked area through the narrow passage. If the robot determines that the width of the narrow passage is less than its body width, it determines that the target navigation point is not reachable relative to its current position. In this case, the narrow passage currently determined by the robot does not allow free passage, and steps A to E need to be re-executed. This ensures that after the corresponding edge compensation path is cleared from the edge-closed path, the width of the resulting gap is greater than or equal to the robot's body width, allowing the robot to enter the unworked area and preventing the robot from missing the work area led to by the narrow passage near dangerous obstacles.
[0046] As one embodiment, in step A, the robot sequentially connects the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map, as scanned by the robot's sensors, to form the obstacle-avoidance boundary. The path formed by the robot walking along the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map, as scanned by the robot's sensors, is marked on the edge-marking map as the edge-closed path, thus forming... Figure 2 The dotted-line closed area shown can be used to avoid dangerous obstacles and other types of obstacles that need to be walked along the edge. The robot can be planned to walk along the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than dangerous obstacles scanned by the robot through the sensor in the expanded map, so as to ensure the safety of the robot body.
[0047] It should be noted that the expanded area of the dangerous obstacle and the corresponding expanded obstacle avoidance area can be understood as the area expanded from the dangerous obstacle's occupied area in step A. The virtual edge boundary is the boundary of the virtual obstacle's occupied area; the expanded obstacle avoidance area corresponding to the dangerous obstacle includes the virtual obstacle's occupied area, where there are no obstacles detected by the sensors. The boundary of the virtual obstacle's occupied area is located between the boundaries of two adjacent obstacles, forming a closed boundary that obstructs the robot's passage to other work areas by connecting the boundaries of the virtual obstacle's occupied area. Therefore, it needs to be cleared in step B to allow the passable area filled by the flood filling algorithm to pass through, providing the robot with missed work areas and evaluating path passability.
[0048] As one embodiment, in step A, the method for expanding the area occupied by the dangerous obstacle includes: taking the center of the area occupied by the dangerous obstacle as the expansion center, expanding outward according to the expansion radius to obtain the expanded dangerous obstacle area. The expansion radius is preferably 10cm, which is positively correlated with the outline size of the dangerous obstacle. If a circular area is used to mark the area occupied by the dangerous obstacle, then the expanded dangerous obstacle area is a ring outside the area occupied by the dangerous obstacle, and the ring width is 10cm. As long as the robot identifies the dangerous obstacle through the sensor, it will mark it on the map and then expand the dangerous obstacle by 10cm. The expanded dangerous obstacle area is located outside the area occupied by the dangerous obstacle. When the robot needs to bypass the dangerous obstacle, it will walk along the boundary of the expanded dangerous obstacle area. Thus, the robot's obstacle avoidance means that the robot walks with a 10cm distance between the side of the dangerous obstacle and the boundary of the area occupied by the dangerous obstacle.
[0049] Using the center of the area occupied by the dangerous obstacle as the expansion center, the expansion is extended outward according to the obstacle avoidance radius to obtain the expanded obstacle avoidance area corresponding to the dangerous obstacle. The obstacle avoidance radius is preferably 25cm. If a circular area is used to mark the area occupied by the dangerous obstacle, then the expanded obstacle avoidance area corresponding to the dangerous obstacle is the outer ring of the area occupied by the dangerous obstacle, and the ring width is 25cm. The expanded obstacle avoidance area corresponding to the dangerous obstacle is the expansion range of the virtual obstacle to be cleared in steps B and C and the path to walk along the boundary of its occupied area, but it does not affect the labeling information of the actual scanned obstacles.
[0050] Wherein, the expansion radius is smaller than the obstacle avoidance radius; the expansion area of the dangerous obstacle is included within the expansion obstacle avoidance area corresponding to the dangerous obstacle. When performing step A, the robot walks along the boundary of the expansion area of the dangerous obstacle, maintaining an expansion radius between the robot and the dangerous obstacle. The purpose is to allow the robot to bypass the obstacle from a great distance, but without leaving the expansion obstacle avoidance area corresponding to the dangerous obstacle during the process. Instead, it marks a partial path along the edge of the expansion obstacle avoidance area, as well as the path formed when walking along the virtual edge boundary. Subsequently, steps B and C clear the expansion obstacle avoidance area corresponding to the dangerous obstacle, allowing the robot to navigate to and from the narrow passage where the virtual edge boundary is located.
[0051] As one embodiment, in step B, after the robot clears the inflated obstacle avoidance area corresponding to the dangerous obstacle in the extended map, it is determined that the virtual obstacle has been cleared from the extended map, and the area occupied by the dangerous obstacle is retained. The area occupied by the virtual obstacle is no longer used as an area in the extended map that obstructs the robot's passage. A gap is opened in the area occupied by the virtual obstacle for the flood filling algorithm to fill the passable area, so that the extended map becomes the preprocessed map. In this embodiment, the flood filling algorithm is executed in the map area where the inflated obstacle avoidance area has been cleared. This opens a gap in the area occupied by the virtual obstacle that was originally closed by the virtual edge boundary in the inflated obstacle avoidance area. The unworking area led to by the gap and other working areas on one side are transformed from unworking areas into the next working area. This prevents the gap between the dangerous obstacle and the wall obstacle from being marked as an equivalent obstacle boundary (i.e., the virtual edge boundary) because the robot walks around the dangerous obstacle. It does not abandon the traversal of the next working area for the robot's complete edge-bypass behavior formed in the same working area.
[0052] As one embodiment, step B, the method of performing a flood filling algorithm on the preprocessed map, includes: Step B1: Within the preprocessed map, select a pixel in the unworked area as the current judgment center using the flood fill algorithm, and then execute Step B2; Alternatively, other work areas separated by the virtual edge boundary outside the current work area can be selected, allowing the current work area to search for the channel area and direction of passage connecting with the external work area through the virtual edge boundary.
[0053] Step B2: Determine whether the current judgment center overlaps with the robot's current position. This can be understood as determining whether the current judgment center touches the cleaning robot's current position. If so, it is determined that the robot's current position is connected to the unworked area, and the unworked area is determined to be passable. A passable area for the robot to move to the unworked area is filled in to determine the passage direction of the passable area. Otherwise, proceed to step B3.
[0054] Step B3: Update the pixels adjacent to the current judgment center and with the same grayscale value as the current judgment center, and then execute step B2. Repeat this process of updating the current judgment center and performing a grayscale value judgment after each update until no pixel adjacent to the current judgment center and with the same grayscale value is found in the preprocessed map, or the current judgment center is the robot's current position. This completes the flood filling operation, allowing the robot to reassess the path traversability in the preprocessed map and subsequently calculate the target navigation point within the filled area.
[0055] As an example, in step C, when the edge compensation path is removed from the edge-closed path in the edge-marked map, the path required for the robot to walk along the boundary of the virtual obstacle-occupied area within the expanded obstacle avoidance area corresponding to the dangerous obstacle is not counted as the path required for the robot to walk along the obstacle. This creates a gap in the edge compensation path at the edge-closed path. Then, the boundary of the virtual obstacle-occupied area and the corresponding marked edge compensation path can be used to evaluate the passability of the gap.
[0056] In this embodiment, there is no dangerous obstacle occupying the area occupied by the virtual obstacle. When the boundary of the virtual obstacle occupying the area participates in connecting to the obstacle bypass boundary, the virtual obstacle is marked as an obstacle in the extended map other than the dangerous obstacle. However, the virtual obstacle is a type of obstacle that needs to be marked in order to connect with the boundary of the area occupied by the obstacle scanned by the sensor in the extended map to form a closed boundary. The virtual obstacle occupying area can be a closed area along the edge that is not an obstacle (not the result of the sensor scanning a real object). When the robot walks along the boundary of the virtual obstacle occupying area, it is marked in the edge marking map to form an edge compensation path. Subsequently, it is necessary to clear the edge compensation path to avoid the target navigation point being calculated on the obstacle.
[0057] As one embodiment, in step D, the method for calculating the target navigation point by combining the passable area filled in the preprocessed map and the effective path along the edge obtained in the edge-marked map includes: searching for the target navigation point using a path search algorithm based on the effective path along the edge, according to the travel direction of the passable area filled in the preprocessed map, so that when the robot walks from its current position to the target navigation point, it has already walked out of the current working area and / or entered the non-working area. During the process of searching for the target navigation point using the path search algorithm, the robot plans a navigation path with the target navigation point as its endpoint. Illustratively, the robot will use a heuristic search algorithm to plan the navigation path, where one of the target navigation points is the endpoint of the navigation path. After planning the navigation path, the robot walks along the navigation path, avoiding connected areas with unreasonable gap widths, and also avoiding narrow passages wider than the robot's body width to avoid dangerous obstacles.
[0058] Specifically, when the robot starts its search from its current position or one endpoint of the effective path along the edge, and plans the path and target navigation point located in the unworked area using a heuristic search algorithm according to the travel direction of the passable area filled in the preprocessed map, it searches for free grids (grid areas representing passable areas in the grid map) as path nodes in the neighborhood of the search starting point to ensure that the path nodes are not located in areas occupied by dangerous obstacles. The robot finds multiple path nodes in the neighborhood of the search starting point, and then continues to update each path node as a new search starting point. It then searches for free grids in the neighborhood of each search starting point according to the travel direction of the passable area filled in the preprocessed map, and repeats this process until the target navigation point is found. The searched path nodes are then connected into a navigation path according to the order of the search. As for the heuristic search algorithm used as the path search algorithm, its types include, but are not limited to, the A* algorithm and the D* algorithm; thus, under the premise that the robot opens the boundary of the narrow passage and breaks through the closed path along the edge, the navigation path to the target navigation point is planned by the neighborhood search under the A* or D* algorithm along the passable area filled in the preprocessed map.
[0059] Based on the foregoing embodiments, the present invention also discloses a chip storing program code, which, when executed, implements the various steps disclosed in the foregoing embodiments. When the program code corresponding to each step of the robot's path continuation planning method based on obstacle expansion processing is stored in a chip, it is treated as a computer program product. The program code is operable to cause a computer to execute some or all of the steps of any of the methods described in the various embodiments of the robot path continuation planning method based on obstacle expansion processing. The robot with the aforementioned chip internally executes steps A to D to clear the expanded obstacle avoidance areas corresponding to dangerous obstacles marked on the map, enabling the flood filling algorithm to effectively pass through narrow passages to connect to work areas outside the current work area, and allowing the robot to reassess the path's drivability. Therefore, when there are areas that the robot misses due to the need for long-distance obstacle avoidance of dangerous obstacles (specifically including work areas that should have been covered by the current work area but are separated by obstacle boundaries and are considered disconnected), the robot will not stop working immediately after completing the work in the current work area. Instead, it will determine whether it needs to fill in the gaps. These types of work areas that need to be filled in are marked as unworked areas in this application. The robot will obtain the target navigation point by executing steps A to D, and then determine whether the area where the target navigation point is located needs to be supplemented by executing step E.
[0060] This application also discloses a robot, which may be cylindrical and integrates at least a collision sensor and a ranging sensor. The ranging sensor may be a line laser sensor, which obtains the position information reflected back by obstacles by emitting line lasers to the outside. By detecting the two-dimensional point cloud data of the surrounding environment, a two-dimensional point cloud map is constructed in a timely manner. The number of sensors installed on the robot body may be one or more line laser sensors. Line laser sensors include multi-line lidar and single-line lidar. Single-line lidar refers to a radar in which the laser source emits a single-line beam. It is used in the field of robotics, mostly in service robots, especially cleaning robots that walk on the ground surface, lawnmowers, floor scrubbers, and security patrol robots that walk in work areas with narrow passages defined by boundary lines. This embodiment does not limit the type of subject to which the robot continuation planning method is applicable. The robot can also be equipped with inertial sensors (including but not limited to odometers for measuring walking distance, collision sensors for detecting collisions with obstacles, and gyroscopes for measuring the body's rotation angle) or visual sensors (which can be any type of depth information acquisition device, including but not limited to monocular cameras, binocular cameras, etc.).
[0061] The robot is equipped with the aforementioned chip, which controls the robot to use a line laser sensor to detect point cloud data of obstacles, and to fit the corresponding obstacle type, obstacle outline boundary, and the occupied area enclosed by the obstacle in the map from the point cloud data. The robot is used to execute some or all of the steps of any of the methods described in the various embodiments of the robot continuation planning method. Specifically, by executing steps A to E, the robot removes the closed boundary factors caused by the virtual obstacle occupied area in the expanded obstacle avoidance area corresponding to dangerous obstacles in the expanded map, and removes the closed path factors caused by the edge compensation path from the edge closed path, correspondingly restoring an actual passage entrance. The passable area leading to other work areas, filled by the flood filling algorithm, can then participate in path search, searching for the target navigation point and its path leading to the unworked area. This avoids the target navigation point being calculated on the obstacle occupied area actually scanned by the sensor, and also provides path and location point information for the robot to automatically move to the unworked area after finishing the current work area. This overcomes the problem of missed operations in originally connected areas due to long-distance obstacle avoidance of dangerous obstacles, thereby improving the robot's work coverage and intelligence.
[0062] The above provides a detailed description of an embodiment of this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The description of the above embodiments is only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application.
Claims
1. A robot continuation planning method based on obstacle expansion processing, characterized in that, The robot continuation planning method includes: Step A: When the robot detects dangerous obstacles in the current working area using its sensors, it marks the area occupied by the dangerous obstacles on the map. Then, it expands the area occupied by the dangerous obstacles to obtain an expanded map, marking the expanded area of the dangerous obstacles and the corresponding expanded obstacle avoidance area. The robot then moves along the boundary of the expanded area of the dangerous obstacles to avoid the dangerous obstacles in the current working area according to the obstacle avoidance boundary of the expanded map. At the same time, the path formed by the robot moving along the obstacle avoidance boundary of the expanded map is marked as an edge-closed path in the edge-marked map. Then, step B is executed; wherein, the obstacle avoidance boundary of the expanded map includes the boundary of the expanded area of the dangerous obstacles. Step B: The robot clears the expanded obstacle avoidance areas corresponding to dangerous obstacles in the expanded map to obtain a preprocessed map; then, a flood filling algorithm is applied to the preprocessed map to fill in a passable area for the robot to walk out of the current working area; then, step C is executed. Step C: The robot removes the edge compensation path from the closed edge path to obtain the effective edge path; then, step D is executed; wherein, the edge compensation path is the path that the robot needs to form along the virtual edge boundary as it walks along the obstacle boundary of the extended map; the virtual edge boundary is the boundary of the area occupied by the virtual obstacle; the expanded obstacle avoidance area corresponding to the dangerous obstacle includes the area occupied by the virtual obstacle. Step D: Combine the passable areas filled in the preprocessed map with the effective paths along the edges obtained from the edge-marked map to calculate the target navigation point; then proceed to step E. Step E: By determining the area where the target navigation point is located and the accessibility of the target navigation point, guide the robot to the target navigation point, so that the robot can move to the unworked area.
2. The robot continuation planning method according to claim 1, characterized in that, Step E specifically includes: Step E1: Determine if there is a target navigation point located in an unworking area. If yes, proceed to step E2; otherwise, proceed to step A. Step E2: The robot identifies the target navigation point located in the unworked area; then proceed to step E3; Step E3: Determine whether the target navigation point located in the unworked area is reachable from the robot's current position. If so, the robot plans a navigation path with the target navigation point in the unworked area as the endpoint, and moves the robot along the navigation path to the unworked area. Otherwise, proceed to step A. The unworking area is separated from the current working area by the virtual edge boundary cleared in step B or the edge compensation path cleared in step C, and the unworking area is located outside the area enclosed by the obstacle boundary of the extended map in step A.
3. The robot continuation planning method according to claim 2, characterized in that, Whenever the robot moves to the unworked area by executing step E3, the unworked area is updated to the current work area, and steps A to E are repeated until the robot has moved through all the pre-defined work areas.
4. The robot continuation planning method according to claim 2, characterized in that, Before the robot removes the edge compensation path from the edge closed path in step C, the edge closed path forms a closed area, preventing the robot from entering the unworked area after traversing the area enclosed by the obstacle boundary of the extended map. After the robot removes the edge compensation path from the edge-closed path in step C, a gap appears in the closed area enclosed by the edge-closed path to connect to the narrow passage entrance; The virtual edge boundary is located at a narrow passage, and the distance between the narrow passage and the dangerous obstacle is less than the distance between the narrow passage and other types of obstacles, so that the robot can avoid the virtual edge boundary while walking along the boundary of the dangerous obstacle's expansion area.
5. The robot continuation planning method according to claim 4, characterized in that, When the robot determines that the width of the narrow passage is greater than or equal to the width of the robot's body, it determines that the target navigation point is reachable relative to the robot's current position, and that the unworked area is a work area that the robot has not yet traversed and that is passable. When the robot determines that the width of the narrow passage is less than the width of the robot's body, it determines that the target navigation point is not reachable relative to the robot's current position.
6. The robot continuation planning method according to claim 1, characterized in that, In step A, the robot sequentially connects the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map as scanned by the robot's sensors to form the obstacle avoidance boundary. The edge closed path is marked on the edge marking map, so that the robot can bypass the dangerous obstacle by walking along the boundary of the expanded area of the dangerous obstacle, the virtual edge boundary, and the boundary of the area occupied by obstacles other than the dangerous obstacle in the expanded map as scanned by the robot's sensors. Among them, the virtual edge boundary is the boundary of the area occupied by the virtual obstacle, and there are no obstacles that are scanned by the sensor within the area occupied by the virtual obstacle; The virtual edge boundary is located between the boundaries of two adjacent obstacles, forming a boundary that prevents the robot from passing through the unworked area by connecting the boundaries of two adjacent obstacles.
7. The robot continuation planning method according to claim 6, characterized in that, In step A, the method for expanding the area occupied by the dangerous obstacle includes: Taking the center of the area occupied by the dangerous obstacle as the expansion center, and expanding outward according to the expansion radius, the expansion area of the dangerous obstacle is obtained. Using the center of the area occupied by the dangerous obstacle as the expansion center, the expansion is carried outward according to the obstacle avoidance radius to obtain the expanded obstacle avoidance area corresponding to the dangerous obstacle; The expansion radius is smaller than the obstacle avoidance radius; both the expansion area of the dangerous obstacle and the expansion obstacle avoidance area corresponding to the dangerous obstacle are located outside the area occupied by the dangerous obstacle.
8. The robot continuation planning method according to claim 6, characterized in that, In step B, after the robot clears the expanded obstacle avoidance area corresponding to the dangerous obstacle in the expanded map, it is determined that the virtual obstacle has been cleared from the expanded map, and the area occupied by the dangerous obstacle is retained. The area occupied by the virtual obstacle is stopped as the area in the expanded map that obstructs the robot's passage, and a gap is opened in the area occupied by the virtual obstacle for the flood filling algorithm to fill the passable area, so that the expanded map becomes the preprocessed map.
9. The robot continuation planning method according to claim 8, characterized in that, In step B, the method for performing the flood filling algorithm on the preprocessed map includes: Step B1: Within the preprocessed map, select a pixel in the unused area as the current judgment center using the flood fill algorithm, and then proceed to step B2. Step B2: Determine whether the current judgment center overlaps with the robot's current position. If yes, determine that the robot's current position is connected to the unworked area and fill in a passable area for the robot to move through the current work area to determine the passage direction of the passable area. Otherwise, proceed to step B3. The passage direction of the passable area includes the direction from the current work area to the unworked area. Step B3: Update the pixels that are adjacent to the current judgment center and have the same gray value to the current judgment center, and then execute step B2.
10. The robot continuation planning method according to claim 9, characterized in that, In step C, when the edge compensation path is cleared from the edge closed path in the edge marking map, the path required for the robot to walk along the boundary of the virtual obstacle occupied area in the expansion obstacle avoidance area corresponding to the dangerous obstacle is not counted as the path required for the robot to walk along the obstacle, so that the edge closed path forms a gap at the edge compensation path. Within the area occupied by virtual obstacles, there is no area occupied by dangerous obstacles.
11. The robot continuation planning method according to claim 10, characterized in that, In step D, the method for calculating the target navigation point by combining the passable area filled in the preprocessed map and the effective path along the edge obtained from the edge-marked map includes: Based on the direction of travel in the passable area filled in the preprocessed map, and the effective path along the edge, a path search algorithm is used to search for the target navigation point, so that when the robot walks from the current position to the target navigation point, it has already walked out of the current working area and / or entered the non-working area.