Target navigation point planning method based on dangerous obstacle, chip and robot
By marking the expansion areas of dangerous obstacles and clearing the expansion obstacle avoidance areas of the cleaning robot, combined with the flood filling algorithm, the problem of the cleaning robot being trapped in a closed path was solved, and the target navigation point planning for safe passage to the unworked area was realized.
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
AI Technical Summary
When cleaning robots encounter dangerous obstacles, they tend to bypass passageways from a distance, causing them to get trapped in closed paths and unable to enter unused areas.
Using a target navigation point planning method based on dangerous obstacles, the robot marks the area occupied by dangerous obstacles and performs an expansion operation. It walks along the boundary of the expanded area, clears the expanded obstacle avoidance area, fills the passable area with a flood filling algorithm, and calculates the target navigation point to avoid closed paths.
The robot can reassess the drivability of the path, avoid calculating the target navigation point on obstacles scanned by the sensor, overcome the path closure problem caused by long-distance obstacle avoidance, and ensure safe passage.
Smart Images

Figure CN122308346A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of path planning technology, and in particular to a target navigation point planning method, chip, and robot based on dangerous obstacles. Background Technology
[0002] Currently, Chinese invention patent application number 202210620283.4 discloses a control method for zoned cleaning by a cleaning robot. It limits the robot to expand the cleaning trajectory by the robot radius pixels after cleaning each area, so that the pixels between the obstacle and the cleaning robot's cleaning trajectory are considered as cleaned. However, in the current room area, if the dangerous obstacle is located near the entrance to the next room area, the robot will mark all the grids used to represent the path to the entrance as obstacle grids. Therefore, in order to avoid being entangled by low dangerous obstacles such as wires and socks during the cleaning process, the robot will go around the obstacle grids at a long distance. This often causes the robot to bypass the passage and form a closed path in the current room area, causing the robot to be trapped in the area enclosed by the closed path. Summary of the Invention
[0003] This application proposes a target navigation point planning method, chip, and robot based on dangerous obstacles. The specific technical solution is as follows: A target navigation point planning method based on hazardous obstacles, comprising: Step A, whereby a robot scans hazardous obstacles in the current working area using sensors and marks the areas occupied by hazardous obstacles on a map; then, the areas occupied by hazardous obstacles are expanded to obtain expanded hazardous obstacle areas and corresponding expanded obstacle avoidance areas; then, the robot walks along the boundary of the expanded hazardous obstacle areas to avoid hazardous obstacles within the current working area according to the obstacle avoidance boundary; simultaneously, the path formed by the robot walking along the obstacle avoidance boundary is marked as a closed path along the edge; then, step B is executed; wherein... The obstacle avoidance boundary 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 to obtain a preprocessed map; then, a flood filling algorithm is performed on the preprocessed map to fill in a passable area for the robot to enter the unworked area; then, step C is executed; Step C: The robot clears the edge compensation path from the edge closed path to obtain an edge effective path; then, step D is executed; Step D: Combining the passable area filled in the preprocessed map and the edge effective path described in step C, a target navigation point is calculated to guide the robot from the current work area to the unworked area. In summary, this application clears the closed boundary factors caused by the virtual obstacle occupied area in the expanded obstacle avoidance area corresponding to the dangerous obstacle in the expanded obstacle avoidance area in the expanded map and the closed path factors caused by the edge compensation path from the edge closed path by executing steps A to D, correspondingly restoring an actual passage entrance, and using the passable area to other work areas filled based on the flood filling algorithm, the robot can re-evaluate the passability of the path and search for the target navigation point to the unworked area before the robot walks out of the current work area. Therefore, when a robot is trapped in its current work area due to dangerous obstacles requiring long-distance obstacle avoidance (specifically including work areas that should have been covered but are separated by obstacle boundaries and are considered disconnected), the robot will not stop working immediately after completing its tasks in the current work area. Instead, it will determine whether to search for a path to the unworked area and the target navigation point that can be reached. This avoids the target navigation point being calculated on the area occupied by the obstacle actually scanned by the sensor, and also overcomes the problem of closing the boundary / path of the originally connected area due to dangerous obstacles requiring long-distance obstacle avoidance.
[0004] Furthermore, before the robot removes the edge-compensated path from the closed edge path in step C, the closed edge path forms a closed area, preventing the robot from entering the unworking area after traversing the area enclosed by the obstacle boundary. After the robot removes the edge-compensated path from the closed edge path in step C, a gap appears in the closed area enclosed by the closed edge path. The edge-compensated path is the path marked as required by the robot to traverse the virtual edge boundary during its movement along the obstacle boundary. 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. Therefore, by executing step C, the robot removes the edge-compensated path, opening a passageway on the dangerous obstacle side to the unworking area, and also providing more passable areas for the flood-filling algorithm. This makes the robot's passable area less likely to be trapped by the expanded dangerous obstacle area or the closed edge path.
[0005] Furthermore, the location of the virtual edge boundary is 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.
[0006] 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, as scanned by the robot's sensors, to form the obstacle-avoidance boundary. This allows the robot to bypass the dangerous obstacle by successively 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, as scanned by the robot's sensors. The virtual edge boundary is the boundary of the virtual obstacle-occupied area, 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.
[0007] 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. Therefore, the robot walks along the boundary of the expanded dangerous obstacle area, keeping the robot and the dangerous obstacle at the same expansion radius. The purpose is to allow the robot to bypass the obstacle from a great distance, but without leaving the expanded obstacle avoidance area corresponding to the dangerous obstacle during the process of bypassing the dangerous obstacle. Instead, it marks part of the closed path along the edge and the path formed when walking along the virtual edge boundary in the expanded obstacle avoidance area corresponding to the dangerous obstacle. Subsequently, steps B and C clear the expanded obstacle avoidance area corresponding to the dangerous obstacle, allowing the robot to navigate to and from the location of the virtual edge boundary as close as possible.
[0008] Further, in step B, after the robot clears the inflated obstacle avoidance area corresponding to the dangerous obstacle, it is determined that the virtual obstacle has been cleared from the 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 on the map that obstructs the robot's passage. A gap is created in the area occupied by the virtual obstacle for the flood filling algorithm to fill the passable area, so as to obtain the preprocessed map. This achieves the creation of 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, allowing the unworking area and other working areas on one side of the gap 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, and does not get stuck in the complete edge-bypass behavior of the robot in the same working area and abandon the traversal of the next working area.
[0009] Further, in step B, the method of performing the flood fill algorithm on the preprocessed map includes: Step B1, selecting a pixel in the unworked area as the current judgment center using the flood fill algorithm within the preprocessed map, and then executing step B2; Step B2, determining whether the current judgment center overlaps with the robot's current position. If so, it is determined that the robot's current position is connected to the unworked area, and a passable area is filled to allow the robot to move and fill the current work area, thereby determining the passage direction of the passable area; otherwise, step B3 is executed; the passage direction of the passable area includes the direction from the current work area to the unworked area; Step B3, updating the pixels adjacent to the current judgment center and having the same grayscale value as the current judgment center, and then executing step B2. This completes the flood fill operation, allowing the robot to re-evaluate the path passability within the preprocessed map, and enabling the robot to subsequently calculate the target navigation point within the filled area.
[0010] Furthermore, 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 described in step C 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 the current position to the target navigation point, it has already entered the unworked area.
[0011] A chip stores program code that, when executed, implements the target navigation point planning method described above. By allowing the chip to obtain the target navigation point through steps A to D, the calculation of the target navigation point onto the area actually occupied by obstacles scanned by the sensor is avoided, and the problem of boundary / path closure of originally connected areas due to dangerous obstacles bypassing them over long distances is also overcome.
[0012] A robot is equipped with a ranging sensor and has a chip installed inside. The robot executes the target navigation point planning method through the chip. By executing steps A to D, the robot removes the closed boundary factors caused by virtual obstacles occupying the expanded obstacle avoidance area corresponding to dangerous obstacles in the expanded map, and removes the closed path factors caused by edge compensation paths from the edge-closed paths. Correspondingly, it restores an actual passageway. Then, it fills the passable area leading to other work areas based on a flood-filling algorithm. The robot can then reassess the passability of the path and search for the target navigation point leading to the unworked area before entering the unworked area. Attached Figure Description
[0013] Figure 1 This is a flowchart illustrating a target navigation point planning method based on dangerous obstacles, as disclosed in one embodiment of this application.
[0014] 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. Detailed Implementation
[0015] The technical solutions in 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. 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 robot's body width), referred to as narrow passages. The entrance and exit of the narrow passage are both set as narrow passage openings, thus dividing the working environment of the robotic vacuum cleaner into narrow passages or multiple room areas with narrow passages by wall obstacles.
[0016] Figure 2 The 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 goes around the narrow passage, it has marked the narrow passage as an obstacle that it needs to go through to walk along the edge. Even if the robot sweeps the current work area, it will be trapped in the current work area.
[0017] To avoid marking entrances to unused areas as obstacle zones and defining them as impassable by the robot in scenarios involving long-distance obstacle avoidance, and to address the problem of robots getting stuck due to long-distance obstacle avoidance of dangerous obstacles, this application discloses a target navigation point planning method based on dangerous obstacles. The target navigation point planning method is executed by a robot equipped with a ranging sensor. In this application, the target navigation point 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.
[0018] In this application, when the robot identifies a dangerous obstacle and needs to traverse it, the robot executes a target navigation point planning method based on the dangerous obstacle, such as... Figure 1 As shown, the target navigation point planning method includes: Step A: The robot scans for dangerous obstacles using sensors and marks the areas occupied by these obstacles on the map. For example, based on 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 obstacles at the corresponding locations on the map; the areas occupied by the dangerous obstacles become the image areas on the map. Then, the robot expands the areas occupied by the dangerous obstacles, resulting in expanded dangerous obstacle areas, and further expands the corresponding expanded obstacle avoidance areas. By marking the expanded dangerous obstacle areas and the corresponding expanded obstacle avoidance areas, the boundaries of the relevant expanded areas can be determined, which can be closed boundaries. The expanded obstacle avoidance areas corresponding to the dangerous obstacles will cover the expanded dangerous obstacle areas.
[0019] The robot then moves along the boundary of the expanded area of the hazardous obstacle to bypass it within the current working area. After moving along or bypassing the hazardous obstacle, it also avoids 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 or the closed area enclosed by the obstacle boundary within the current working area 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 it forms along the obstacle boundary is marked as a closed path. 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 can walk out of the current working area.
[0020] 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 2The enclosed area marked by the dashed lines corresponds to each obstacle marked on the extended map; the robot can perform obstacle avoidance operations over long distances along the enclosed path to avoid contact with dangerous obstacles and ensure the safety of the robot. However, because the enclosed path forms a closed area, the robot cannot find the entrance to the unworked area; then step B is executed.
[0021] It should be noted that the obstacle avoidance boundary includes the boundary of the expanded area of the dangerous obstacle, the boundary of the area occupied by other types of obstacles, and the virtual edge boundary for connecting with the aforementioned boundary to form a closed area; when the robot walks along the obstacle avoidance boundary, it will mark the route it travels, and the path marking information can be recorded as obstacles.
[0022] Step B: The robot clears the expanded obstacle avoidance area corresponding to the dangerous obstacle to obtain a preprocessed map, which provides more passable areas while retaining the area occupied by dangerous obstacles in the preprocessed map; then the flood filling algorithm is executed on the preprocessed map to fill in the passable area for the robot to enter the unworked area, and the target navigation point for the robot to enter the unworked area can be searched through the filled passable area; then step C is executed.
[0023] In step B, the expansion obstacle avoidance area corresponding to the dangerous obstacle is located outside the area occupied by the dangerous obstacle; the expansion obstacle avoidance area corresponding to the dangerous obstacle includes the expansion area of the dangerous obstacle.
[0024] 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 while clearing the expanded obstacle avoidance area corresponding to the dangerous obstacle, and then proceeding to step D. In step C, the edge compensation path is a pre-marked path that the robot needs to form along the virtual edge boundary, that is, a path marked to connect with the required edge-walking path marked by the obstacles scanned by the sensors to form a closed path (where a section at the passage entrance is such as...). Figure 2 (As shown by the dashed line AB).
[0025] It is worth noting that the robot marks the boundary of the area occupied by the virtual obstacle as the virtual edge boundary, and marks the path formed by the robot walking along the virtual edge boundary as the edge compensation path. 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 expansion obstacle avoidance area corresponding to the dangerous obstacle, the obstacle avoidance boundary also restores an actual gap to other working areas. Therefore, it can participate in the path search in step D to search for target points that can be passed to unworking areas with other dangerous obstacles, thus avoiding the target point being calculated on the obstacle-occupied area actually scanned by the sensor.
[0026] Step D: Combining the passable area provided by the preprocessed map and the effective path along the edge described in Step C, calculate the target navigation point to guide the robot from the current working area to the unworking area. In this application, the unworking area is located outside the closed area enclosed by the obstacle avoidance boundary, while the passable area provided by the preprocessed map is connected to the unworking area. When multiple areas are involved, this application can label the current working area and the unworking area as the current working area and the next working area, respectively. In Step D, within the passable area provided by the preprocessed map, the robot starts from the position corresponding to the endpoint of the effective path along the edge, and can walk across the virtual edge boundary to the target navigation point, thereby entering the unworking area through the virtual edge boundary and solving the path closure problem caused by the aforementioned long-distance obstacle avoidance.
[0027] In summary, this application removes the closed boundary factors caused by virtual obstacles occupying the expanded obstacle avoidance area corresponding to dangerous obstacles in the expanded map by executing steps A to D, and removes the closed path factors caused by edge compensation paths from the edge-closed paths. Correspondingly, it restores an actual passageway. Then, based on the flood filling algorithm, it fills the passable area leading to other work areas. The robot can then reassess the passability of the path and search for a target navigation point leading to an unworked area before leaving the current work area. Therefore, when the robot is trapped in the current work area due to dangerous obstacles requiring long-distance obstacle avoidance (specifically including work areas that should have covered 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 to search for a path to the unworked area and the reachable target navigation point. This avoids calculating the target navigation point on the obstacle-occupied area actually scanned by the sensor and overcomes the problem of boundary / path closure of originally connected areas due to dangerous obstacles bypassing them at long distances.
[0028] As one embodiment, in a scenario where the robot is a robotic vacuum cleaner and the un-worked area is a missed area, when the robotic vacuum cleaner finishes cleaning the current working area, it can predict, according to the pre-set cleaning strategy, that when cleaning dangerous obstacles, it will cause missed areas due to the long distance to avoid the dangerous obstacles. Therefore, it is determined that the robot needs to clean the unworked areas, and the current cleaning state is effective. Then, by executing steps B to D, the target navigation point is calculated and it is identified that there are indeed areas outside the area enclosed by the obstacle boundary or outside the area separated by the virtual edge boundary that can be traversed by the target navigation point, which are missed areas (actually areas that the robot has not traversed). Based on this, a path can be planned using the currently calculated target navigation point so that the robot can enter the missed area according to the planned path. After the robot walks into the missed area, it can continue to scan for dangerous obstacles and mark them.
[0029] 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.
[0030] It should be noted that the expanded obstacle avoidance area corresponding to a dangerous obstacle includes the area occupied by virtual obstacles, where no obstacles detected by the sensors are located. Virtual obstacles are not detected by the sensors, but they are a type of obstacle that needs to be labeled to connect with the boundary of the area occupied by sensors-detected obstacles, forming a closed boundary. Virtual obstacles are removed during the process of clearing the expanded obstacle avoidance area corresponding to a dangerous obstacle, and the boundary of the virtual obstacle-occupied area is also cleared, thus providing more passable areas for the floodfill algorithm.
[0031] Based on the above embodiments, 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 D need to be re-executed. This ensures that after the corresponding edge compensation path is cleared from the closed edge 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 reach the target navigation point, preventing the robot from being trapped in the closed work area near dangerous obstacles.
[0032] 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 expansion area. Simultaneously, factors that close the narrow passage during the robot's bypass of the dangerous obstacle according to the obstacle-avoidance boundary are considered. Figure 2 As shown, the robot forms a closed path along the edge when walking around the obstacle boundary. Although the robot walks around the current working area and avoids dangerous obstacles at a distance, an edge compensation path AB is marked at the narrow entrance, so that the robot does not enter the non-working area through the edge compensation path AB.
[0033] 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, 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, as scanned by the robot's sensors, is mapped to the robot's walking path marking information to mark 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 dangerous obstacle expansion area, the virtual edge boundary, and the boundary of the area occupied by obstacles other than dangerous obstacles scanned by the robot through the sensor, so as to ensure the safety of the robot body.
[0034] 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, so as to evaluate the path passability between the current work area and the external area for the robot.
[0035] 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.
[0036] 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.
[0037] 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 location of the virtual edge boundary as close as possible.
[0038] As one embodiment, in step B, after the robot clears the inflated obstacle avoidance area corresponding to the dangerous obstacle, it is determined that the virtual obstacle has been cleared from the 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 on the map that obstructs the robot's passage. A gap is created in the area occupied by the virtual obstacle for the flood filling algorithm to fill the passable area, so as to obtain 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 creates 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 and other working areas on one side of the gap to be 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. This prevents the robot from abandoning the traversal of the next working area due to the complete edge-bypass behavior formed in the same working area.
[0039] 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.
[0040] 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.
[0041] 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.
[0042] As one embodiment, in step C, when clearing the edge-compensated path from the edge-closed path, 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-closed path at the edge-compensated path, allowing the boundary of the virtual obstacle-occupied area and the corresponding marked edge-compensated path to evaluate the passability of the gap. In this embodiment, there is no dangerous obstacle-occupied area within the virtual obstacle-occupied area. When the boundary of the virtual obstacle-occupied area participates in connecting to the obstacle avoidance boundary, the virtual obstacle is marked as an obstacle other than the dangerous obstacle. However, virtual obstacles are a type of obstacle that needs to be marked to connect with the boundary of the area occupied by the obstacle scanned by the sensor in the expanded map to form a closed boundary. The virtual obstacle-occupied area can be an edge-closed area 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-occupied area, the corresponding marked edge-compensated path is formed. Subsequently, it is necessary to clear the edge-compensated path to prevent the target navigation point from being calculated on the obstacle.
[0043] 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 edge path obtained in the edge-marked map as described in step C includes: searching for the target navigation point using a path search algorithm based on the effective edge path, 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 entered the unworked 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. Generally, the robot uses a heuristic search algorithm to plan the navigation path, where one target navigation point is the endpoint of the navigation path. After planning the navigation path, the robot walks along the navigation path, avoiding connecting areas with unreasonable gap widths, and also avoiding narrow passages wider than the robot's body width to avoid dangerous obstacles.
[0044] 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.
[0045] 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 target navigation point planning method based on dangerous obstacles 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 target navigation point planning method based on dangerous obstacles. A robot with the aforementioned chip internally executes steps A to D to clear the expanded obstacle avoidance area corresponding to the dangerous obstacles marked on the map, enabling the flood filling algorithm to effectively pass through narrow passages to connect to a work area outside the current work area. The chip can then reassess the path's drivability. Therefore, when there are areas that the robot misses due to the need to avoid dangerous obstacles from a distance (specifically, 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, the chip will obtain the target navigation point by executing steps A to D. This avoids the target navigation point being calculated on the area occupied by the obstacle actually scanned by the sensor, and also overcomes the problem of the boundary / path being closed off due to dangerous obstacles avoiding the obstacle from a distance.
[0046] 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 target navigation point 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.).
[0047] 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 target navigation point planning method. Specifically, by executing steps A to D, 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. Then, a passable area leading to other working areas is filled based on the flood filling algorithm. The robot can then reassess the passability of the path and search for the target navigation point leading to the unworking area before entering the unworking area.
[0048] 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 method for target waypoint planning based on hazardous obstacles, characterized in that, The target navigation point planning method includes: Step A: The robot scans the current working area using sensors to identify dangerous obstacles and marks the areas occupied by these obstacles on the map. Then, it expands these areas to obtain the expanded obstacle avoidance area and the corresponding expanded obstacle avoidance area. The robot then moves along the boundary of the expanded obstacle avoidance area to bypass the dangerous obstacle within the current working area. Simultaneously, the path formed by the robot moving along the obstacle avoidance boundary is marked as a closed path along the edge. Then, Step B is executed; where the obstacle avoidance boundary includes the boundary of the expanded obstacle avoidance area. Step B: The robot clears the expanded obstacle avoidance area corresponding to the dangerous obstacle to obtain a preprocessed map; then, a flood filling algorithm is performed on the preprocessed map to fill in a passable area for the robot to enter the unworked area; then, step C is executed. Step C: The robot removes the edge-compensated path from the closed edge path to obtain the effective edge path; then proceed to step D. Step D: Calculate the target navigation point by combining the passable area filled in the preprocessed map with the effective path along the edge described in Step C.
2. The target navigation point planning method of claim 1, wherein, 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. 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; The edge compensation path is the path marked as required for the robot to walk along the virtual edge boundary during the robot's movement along the obstacle avoidance boundary; the virtual edge boundary is the boundary of the area occupied by the virtual obstacle; the expansion obstacle avoidance area corresponding to the dangerous obstacle includes the area occupied by the virtual obstacle.
3. The target navigation point planning method of claim 2, wherein, 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.
4. The target navigation point planning method of claim 1, wherein, 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 as scanned by the robot through the sensor to form the obstacle avoidance boundary. The robot then 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 as scanned by the robot through the sensor. 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.
5. The target navigation point planning method of claim 4, wherein, 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.
6. The target navigation point planning method according to claim 1, characterized in that, In step B, after the robot clears the expansion obstacle avoidance area corresponding to the dangerous obstacle, it is determined that the virtual obstacle has been cleared from the 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 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 as to obtain the preprocessed map.
7. The target navigation point planning method according to claim 6, 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.
8. The target navigation point planning method according to claim 1, 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 described in step C 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 entered the unworked area.
9. A chip storing program code, characterized in that, When the program code is executed, it implements the target navigation point planning method as described in any one of claims 1 to 8.
10. A robot equipped with a ranging sensor, characterized in that, The robot is equipped with the chip described in claim 9, and the robot executes the target navigation point planning method described in any one of claims 1 to 8 through the chip.