Search methods for regions missing in robot mapping

By using image morphology methods and filling algorithms, the robot can detect and fill in missing map locations in indoor environments, solving the problem of missing areas in robot map building and realizing complete map building and cleaning under changing environments.

CN119533439BActive Publication Date: 2025-11-14AMICRO SEMICONDUCTOR CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311074711.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-08-24
Publication Date
2025-11-14
Estimated Expiration
2043-08-24

AI Technical Summary

Technical Problem

When building indoor maps, robots are prone to missing some areas, resulting in missing map locations, especially when the environment changes (such as when walls or doors are opened), making it impossible to replenish map information in a timely manner.

Method used

The method uses image morphology to extract the set of target boundary points from a pre-built map, expands the area to be explored by a filling algorithm, searches for missing map regions by combining candidate boundary points and the current positional relationship, and continues to build the map in the missing map regions.

Benefits of technology

It effectively detects and supplements missing mapping locations, ensuring that the robot builds a complete map in the indoor environment, adapts to environmental changes, and improves navigation and cleaning efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119533439B_ABST
    Figure CN119533439B_ABST
Patent Text Reader

Abstract

This application discloses a method for searching for missing map regions by a robot, comprising: Step A, the robot uses a first image morphology method to search for at least one set of target boundary points from a pre-constructed map; Step B, based on the number of points, candidate boundary point sets are determined one by one; Step C, the robot uses a second image morphology method to extract the map region to be explored from the pre-constructed map; Step D, the robot sets a region expansion starting point from the map region to be explored, and then uses a filling algorithm to process the map region to be explored starting from the region expansion starting point to obtain the region expanded by the filling algorithm; Step E, based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, missing map regions are searched so that the robot can fill in the missing map regions.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the technical field of path node search, and specifically to a search method based on regions of a robot's missing map. Background Technology

[0002] Currently, the basis for calling indoor mobile robots intelligent is their ability to complete navigation and positioning functions when they have a map. Generally, the robot acquires a map by randomly expanding path nodes and uses data structures representing various road conditions and environmental information to participate in the search to simulate the real terrain outline in the map.

[0003] Many technologies related to intelligent mobile robots revolve around maps. Commonly used maps can be broadly categorized into three types: topological maps, geometric maps, and grid maps. Maps can be acquired in various ways; for example, the global map built by a robotic vacuum cleaner is constructed gradually during the cleaning process.

[0004] However, due to the distribution of obstacles in the environment, the map gradually built by the robot during the cleaning process may miss some areas. The robot may not be able to reach these areas, resulting in missing map locations or unmapped areas (considered as missing map areas). In other words, the area where the robot originally needed to build a map becomes an area with missing map information. Or, during the process of the robot building a map in an indoor environment, a door in the wall environment may be suddenly opened, creating a need to continue building the map and cleaning the work area behind the door.

[0005] Therefore, there is an urgent need for robots to detect these locations that require map construction in order to supplement the map. Summary of the Invention

[0006] This application discloses a search method for regions not mapped by the robot, and the specific technical solution is as follows:

[0007] The robot-based missing mapping region search method includes the following steps: Step A: The robot uses a first image morphology method to search for at least one set of target boundary points within a pre-constructed map; Step B: Based on the number of points, candidate boundary point sets are determined one by one; Step C: The robot uses a second image morphology method to extract the map region to be explored from the pre-constructed map; Step D: The robot sets a region expansion starting point within the map region to be explored, and then, starting from the region expansion starting point, uses a filling algorithm to process the map region to be explored to obtain the region expanded by the filling algorithm; Step E: Based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, the missing mapping region is searched.

[0008] In summary, this technical solution performs two types of image morphological processing on the pre-built map to obtain the candidate boundary point set and the map region to be explored. Then, a filling algorithm is executed on the map region to be explored. Based on the relationship between the region expanded by the filling algorithm and the candidate boundary point set and the robot's current position, the missing mapping regions are searched. This includes obtaining the missing mapping locations from the candidate boundary point set or determining that no missing mapping locations exist within the pre-built map. Thus, after the robot has built a global map, missing mapping locations can be detected in traversable or unknown areas, allowing the robot to fill in the gaps in the map information. Map building can also continue in areas where mapping is not initially required but where the robot can still pass through. For example, if a door in a wall environment is suddenly opened, the robot can use the search method to detect missing mapping regions in the untraversed area behind the door. Map building and cleaning can then continue in the missing mapping regions behind the door, allowing the robot to continuously perform map filling operations.

[0009] Further, in step E, the method for searching for missing mapping regions based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, includes: Step E1, determining that there is no missing mapping region based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, or selecting to execute step E2; Step E2, determining that the area covered by the candidate boundary point set is the missing mapping region based on the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, and obtaining the missing mapping position from the candidate boundary point set. This determines whether the missing mapping position can be calculated from the candidate boundary point set. Based on step E2, this missing mapping position can be set as the starting point for the missing mapping action, and map construction can continue to complete the map.

[0010] Further, step E1 includes: Step E11, determining whether the robot's current position is within the area expanded by the filling algorithm; if yes, proceed to step E2; otherwise, proceed to step E12. Step E12, determining whether the map area to be explored processed by step D has any marked information; if yes, determining that the pre-built map does not contain the missing map area; otherwise, proceed to step E13. Step E13, removing the area expanded by the filling algorithm from the map area to be explored processed by step D to obtain a valid map area; then updating the valid map area to the map area to be explored, and then executing step D to obtain a new area expansion starting point. Implementation: First, clear the area expanded by the currently executed filling algorithm within the map area to be explored processed by step D; then set a new area expansion starting point in the remaining area; then, starting from the new area expansion starting point, use the filling algorithm to process the remaining area until it is determined in step E11 that the robot's current position is within the area expanded by the latest executed filling algorithm, and then execute step E2.

[0011] Further, step E2 includes: step E21, determining whether all points in each candidate boundary point set obtained in step B are not located in the neighborhood of the node extended by the filling algorithm; if so, it is determined that there is no missing map area in the pre-built map; otherwise, step E22 is executed; step E22, whenever it is determined that at least one point in a candidate boundary point set is located in the neighborhood of the node extended by the filling algorithm, the x-coordinates of each point in the same candidate boundary point set are accumulated to obtain the accumulated x-coordinate value, and then the ratio between the accumulated x-coordinate value and the number of points in the candidate boundary point set is set as a value used to represent the same... The x-coordinate of the midpoint of a candidate boundary point set; simultaneously, the y-coordinates of all points within the same candidate boundary point set are summed to obtain the summed y-coordinate value, and the ratio between the summed y-coordinate value and the number of points in the candidate boundary point set is set as the y-coordinate representing the midpoint of the same candidate boundary point set; step E23, the x-coordinate representing the midpoint of the same candidate boundary point set and the y-coordinate representing the midpoint of the same candidate boundary point set are set as the coordinates of a missing mapping location, and a missing mapping location is determined from the same candidate boundary point set, wherein a missing mapping location exists within the missing mapping region. Therefore, combining steps E21 to E23, the robot executes the filling algorithm. Whenever the neighborhood of a passable location point that has been expanded to (which can be understood as the filling algorithm filling to) exists within the candidate boundary point set, the robot sets the coordinates of the missing mapping location within the candidate boundary point set. This continues until the robot expands to the obstacle point or remains within the area to be explored, exploring unknown areas and excluding map areas where no missing mapping exists. Thus, by combining the candidate boundary point set and the area expanded by the filling algorithm, each missing mapping area is searched out, thereby achieving the goal of constructing a complete map.

[0012] Further, step D includes: mapping the map region to be explored into a distance metric space; wherein, the distance metric space is the set of distances between all points in the map region to be explored, excluding the distance measurement start point, and the distance measurement start point; selecting the point with the largest distance to the distance measurement start point from the distance metric space as the region expansion start point, and then using a filling algorithm to process the passable areas in the map region to be explored starting from the region expansion start point; whenever the map region to be explored is updated, a new distance metric space is mapped and a new region expansion start point is selected; wherein, the nodes expanded by the robot using the filling algorithm include pixels connected to the region expansion start point. This implements normalization processing of the map region to be explored according to obstacle distance information, including normalization processing of the distance range mapped to the target obstacle.

[0013] Further, step C includes: the robot extracting passable areas and obstacle areas from the pre-built map, then dilating the currently extracted obstacle area to obtain a target dilated area within the currently extracted passable area; then removing the target dilated area from the currently extracted passable area to obtain the map area to be explored, and confirming the completion of the second image morphology method. This overcomes the interference of individual discrete obstacle points and contour lines.

[0014] Further, step B includes: determining whether the number of all points within the same set of target boundary points is greater than or equal to a preset number threshold; if yes, determining that the same set of target boundary points is a candidate set of boundary points and proceeding to step C; otherwise, determining that the same set of target boundary points is not a candidate set of boundary points; the preset number threshold uses the number of pixels in a pre-built map to represent the robot's body diameter; when it is determined that each set of target boundary points searched in step A is not a candidate set of boundary points, it is determined that the pre-built map does not contain the missing mapping area. Thus, based on the determination results of all the target boundary point sets, it is determined whether the pre-built map contains the missing mapping area.

[0015] Further, step A includes: step A1, the robot uses a first image morphology method to extract a preset boundary map from a pre-constructed map; wherein, the preset boundary map is a set of preset boundary lines to describe the boundary between passable areas and unknown areas within the pre-constructed map; step A2, the robot uses a first second image morphology method to search for at least one set of target boundary points from the preset boundary map, and determines that the first image morphology method has been completed.

[0016] Further, step A1 includes: the robot performing grayscale processing on the pre-constructed map according to a preset grayscale threshold to obtain a first map image; then controlling the first map image to first erode and then dilate to obtain a second map image; then the robot extracting a full contour map from the first and second map images; wherein, the full contour map is a set of contour lines within the pre-constructed map; the robot searching for pixels in the neighborhood of each obstacle point within the first and second map images to obtain an obstacle contour map, wherein, the obstacle contour map is a set of obstacle contour lines; then the robot removing the obtained obstacle contour map from the full contour map to obtain a preset boundary map, and obtaining each boundary point that makes up the preset boundary line, and determining that the first image morphology method is complete. In summary, step A1 involves thresholding, erosion, and dilation to denoise the map. Then, the full contour map and obstacle contour map are traversed within the denoised map. The obstacle contour map is then removed from the full contour map to obtain a preset boundary map. This completes the first image morphology method, separating a contour line (corresponding to the result of removing the obstacle contour line from the full contour line), and this is considered as passing the robot's drivability verification. Thus, based on the image morphology method, a more continuous and smooth boundary line is extracted from the pre-constructed map, initially ensuring the stability of the target boundary point set selection.

[0017] Further, step A2 includes: step A21, the robot controls the expansion of the preset boundary map to obtain a second map image, and then executes step A22; step A22, the robot controls the first map image and the second map image to perform a pixel-by-pixel AND operation to obtain a second map image, and then executes step A23; step A23, the pixels in the second map image are combined into a set of map points to be processed, and then executes step A24; step A24, when extracting a pixel from the set of map points to be processed, it is determined whether the currently extracted pixel is a traversed node; if yes, step A25 is executed, otherwise step A26 is executed; step A25, the next pixel is extracted from the set of map points to be processed, and the next pixel is updated to the currently extracted pixel described in step A24, and step A24 is executed again, until there are no points in the set of map points to be processed or all points in the set of map points to be processed have been traversed. The process involves several steps: Step A26: Setting a pixel extracted in Step A24 as the starting search point, and then executing Step A27; Step A27: Detecting whether a node with a preset grayscale value exists in the neighborhood of the starting search point within the preset boundary map. If yes, executing Step A28; otherwise, executing Step A29; Step A28: Adding the node with the preset grayscale value to the current target boundary point set, and confirming that the node with the preset grayscale value is a traversed node, then updating the node with the preset grayscale value as the starting search point, and then executing Step A27; Step A29: Determining that the starting search point is a point within the current target boundary point set, and confirming that the starting search point is a traversed node, and confirming the completion of the creation of the current target boundary point set, and then executing Step A210; Step A210: Allocating storage space for the next target boundary point set, then updating the next target boundary point set to the current target boundary point set, and then executing Step A25. This process is repeated until all points in the set of map points to be processed have been extracted, forming multiple sets of target boundary points. The robot then uses the first and second image morphology methods to search for multiple sets of target boundary points, and the points in two of these sets are not repeated, reducing the repetition rate of node searches and speeding up the search for the candidate boundary point sets in step B. This, in turn, speeds up the search for missing mapping areas by utilizing the positional relationship between the neighborhood of the node extended by the filling algorithm and the candidate boundary point sets.

[0018] Furthermore, step A2 also includes: when each set of target boundary points searched in step A2 is empty, determining that there is no missing map area in the pre-built map, so that each pixel in the preset boundary map is a node that the robot has already traversed.

[0019] In summary, step A2 systematically and non-repeatingly explores the pixels of the map image that have already been completed using the first image morphology method, delineates at least one set of target boundary points, and more comprehensively and quickly searches for each missing mapping region or determines that no missing mapping region exists. Attached Figure Description

[0020] Figure 1 This is a flowchart of an embodiment of the present application disclosing a method for searching for regions missing in robot mapping. Implementation

[0021] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings. The present invention is provided with accompanying drawings. These drawings are part of the disclosure of the present invention, 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. With reference to these drawings, those skilled in the art should be able to understand other possible embodiments and the advantages of the present invention. The process or method is depicted as a flowchart. Although the flowchart describes the steps as sequential processes, many of the steps can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the steps can be rearranged. The process can be terminated when its operation is complete, but may also have additional steps not included in the drawings. The process can correspond to a method, function, procedure, subroutine, subroutine, etc.

[0022] It's important to note that when using search algorithms to solve problems, a data structure is needed to represent the characteristics of the states and the relationships between different states; this data structure is called a node. Different problems require different data structures. Based on the conditions given in the search problem, starting from a single node, one or more new nodes can be generated. This process is usually called expansion and is applicable to node search operations in filling algorithms and neighborhood search.

[0023] As one embodiment, in order to fill in missing map environment areas within a pre-built map, or to continue mapping areas that have not been scanned before but urgently need work, it is necessary to fill in the gaps in the map image based on the already constructed map areas. This embodiment discloses a search method for missing mapping areas based on a robot. The execution subject of this search method is a robot, which can also be understood as a controller installed inside the robot capable of running program code; such as... Figure 1 As shown, the search method includes the following steps:

[0024] Step A: The robot uses a first image morphology method to search for at least one set of target boundary points within a pre-constructed map. Then, Step B is executed. Step A requires acquiring a pre-constructed map, including the map outline and boundary points within it, stored as an image. In Step A, the robot uses image processing algorithms associated with image morphology, such as dilation, erosion, and computational operations, to process the map image region. This allows it to search for boundary points located at the boundary between traversable and unknown regions within the map outline, particularly searching for traversable locations or obstacle locations within the neighborhood of relevant boundary points. Then, by performing logical operations on the map image region before and after dilation, a set of boundary points or unknown location points associated with the unknown region is obtained. Alternatively, location point sets with relevant location attributes can be selected based on pixel grayscale values, such as the set of unknown location points. Combining these methods yields the first image morphology method, enabling the search for at least one set of target boundary points from the pre-constructed map. This involves dividing the same map image region into multiple sets of target boundary points to search for multiple missing map locations and to provide a larger map search area for subsequent steps.

[0025] Step B: Based on the number of points, candidate boundary point sets are determined one by one for each target boundary point set. This filters candidate regions for searching for missed mapping areas based on Step A, improving search accuracy. Then, Step C is executed. In Step B, the number of points can be understood as the number of pixels at the image level after processing by the first image morphology method; at the level of the target boundary point set searched in Step A, it can be understood as the number of points within the set; and at the level of the map region, it can be understood as the number of cells that make up the map, or the number of coordinate points in the map coordinate system, or the number of nodes of the planned trajectory in the map. Based on this, there may be areas within the area covered by each target boundary point set that the robot has missed in mapping, i.e., there may be missed mapping areas. Therefore, it is necessary to filter out candidate point sets based on the robot's own size characteristics, i.e., determine the candidate boundary point sets, for further judgment in subsequent steps. By using the number of pixels of various environmental types covered by the passable target boundary point set within the robot's body range, the areas that still need to be mapped can be obtained, enabling the robot to explore unknown areas more efficiently and quickly.

[0026] Step C: The robot uses a second image morphology method to extract the map region to be explored from the pre-built map. Then, step D. To extract the region for map construction, the map region to be explored is generally the region excluding areas occupied by obstacles, including passable areas (composed of passable location points (pixels with specific gray values)) and unknown areas (composed of unknown location points (pixels with another specific gray value), but excluding obstacle points. In step C, the robot can first dilate the obstacle-occupied areas in the pre-built map to accurately obtain passable areas; it will also perform quantitative pose analysis of each location point / pixel in the map region to be explored based on a description map / metric space of how far away from obstacles, such as determining the coordinates of each location point / pixel in the map region to be explored based on the inside and outside of the obstacle contour, providing effective distance information for the region expansion starting point required by the subsequent filling algorithm.

[0027] Step D: The robot sets a region expansion starting point within the area to be explored in the map region, and then uses a filling algorithm to process the map region to be explored starting from the region expansion starting point to obtain the region expanded by the filling algorithm; then proceed to step E. In step D, the robot's use of the filling algorithm to process the map region to be explored can also be understood as performing a filling algorithm on the map region to be explored, and starting from the region expansion starting point, expanding towards the neighborhood of the map region to be explored.

[0028] If divided according to the number of executions, the area expanded by the filling algorithm includes the newly added map area of ​​the unexplored map area processed by the currently executed filling algorithm, relative to the unexplored map area that has not been processed by the currently executed filling algorithm. The newly added map area may include unknown areas. If the unexplored map area processed in each execution of step D is different, then the starting point for area expansion used in each execution of step D is also different. The starting point for area expansion is selected from the distance mapping information of the unexplored map area to expand to the robot's current position point and the missing map areas in its neighborhood. The distance mapping information is used to describe the distance between each position point in the unexplored map area and an obstacle point.

[0029] In step D, before the filling algorithm is applied, the map area to be explored includes traversable areas and unknown areas, or the map area to be explored is a traversable area.

[0030] It should be noted that the filling algorithm mentioned in this application can be a seed filling algorithm or a flood fill algorithm. When the filling algorithm is a flood fill algorithm, the robot starts from the starting point of the area expansion determined in the aforementioned steps (which can be the origin of the coordinate system converted from the area to be explored in the map) and extracts or fills the nearby connected nodes with different colors, assigning different gray values ​​to areas with the same location attributes.

[0031] Step E: Based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, search for missing mapping regions. Specifically, search for missing mapping regions within the map area to be explored or the pre-built map. This includes obtaining missing mapping locations from the candidate boundary point set. The missing mapping region includes at least one missing mapping location, or it can be determined that there are no missing mapping locations, thereby searching for missing mapping regions and excluding regions that do not need to be mapped.

[0032] In some embodiments, the area expanded by the filling algorithm is the area expanded from a starting point in the map area to be explored into each neighborhood. In step E, the map area to be explored is updated by judging the area expanded by the filling algorithm, and then the process returns to step D. The search continues to find areas connected to the robot's current position until it is determined that the robot's current position is within the area expanded by the filling algorithm. Then, it is determined whether the points in the candidate boundary point set are within the neighborhood of the node expanded by the filling algorithm. This determines whether the area covered by the candidate boundary point set is a missing map area and whether the missing map location can be calculated from the candidate boundary point set. Based on this, the missing map location can be set as the starting point of the map filling action, and map construction can continue to complete the map.

[0033] In summary, this embodiment performs two types of image morphological processing on the pre-built map to obtain the candidate boundary point set and the map region to be explored. Then, a filling algorithm is executed on the map region to be explored. Based on the relationship between the region expanded by the filling algorithm and the candidate boundary point set and the robot's current position, the missing mapping regions are searched. This includes obtaining missing mapping locations from the candidate boundary point set or determining that no missing mapping locations exist within the pre-built map. Thus, after the robot has built a global map, missing mapping locations can be detected in traversable or unknown areas, allowing the robot to fill in the gaps in the map information. Map building can also continue in areas where mapping is not initially required but where the robot can pass through. For example, if a door in a wall environment is suddenly opened, the robot can detect missing mapping regions from the untraversed area after the door opens by executing the search method. Then, the robot can continue building and cleaning in the missing mapping regions behind the door, controlling the robot to continuously fill in map gaps.

[0034] As one embodiment, in step E, the method for searching for missing mapping regions based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, includes:

[0035] Step E1: Based on the positional relationship between the area expanded by the filling algorithm and the robot's current position, determine that there is no missing mapping area, or select to execute step E2.

[0036] Specifically, based on the status of the fill algorithm performed within the traversable areas of the map region to be explored, the robot determines that there are no missing map areas (missing map areas) within the map region to be explored or the original map before the execution of the second image morphology method. Then, if the robot determines that there are no missing map locations or no missing map areas, map filling is not required. Alternatively, the conditions for executing step E2 can be determined based on the positional relationship between the area expanded by the fill algorithm and the robot's current position.

[0037] During step E1, the newly expanded area can be removed to update the map area to be explored, based on the position of the robot's current position point within the expanded area of ​​the currently executed filling algorithm. Then, the process returns to step D to continuously search for valid areas connected to the robot's current position point. In addition, step E2 is used to mine areas that may be missing from the map, thereby filtering out the missing areas from the candidate boundary point set.

[0038] Step E2: Based on the positional relationship between the neighborhood of the node extended by the filling algorithm and the candidate boundary point set, determine that the area covered by the candidate boundary point set is the missing mapping area, and obtain the missing mapping position from the candidate boundary point set. Therefore, after determining in step E1 that the robot's current position is within the area extended by the filling algorithm, the robot in step E2 determines whether the neighborhood of the node extended by the filling algorithm enters and covers the points in the candidate boundary point set. This determines whether there is a missing mapping position in the area covered by the candidate boundary point set or whether there is no missing mapping position in the area covered by all points in the candidate boundary point set. This determines whether the missing mapping position can be calculated from the candidate boundary point set. Based on step E2, the missing mapping position can be set as the starting point of the missing mapping action, and map construction can continue to complete the map.

[0039] Specifically, step E1 includes:

[0040] Step E11: Determine whether the robot's current position is within the area expanded by the filling algorithm. If yes, proceed to step E2; otherwise, proceed to step E12. It should be noted that the area expanded by the filling algorithm is the result of the robot processing the map area to be explored using the filling algorithm in step C. This allows step E11 to detect the robot's current position within a map area that is as interconnected as possible. This interconnected map area can be understood as the area expanded by the filling algorithm in the direction of the traversable area. Preferably, each execution of the filling algorithm expands a new area within the map area to be explored, starting from the expansion point.

[0041] Step E12: Determine whether the map area to be explored after step D is unmarked. If the map area to be explored after step D is unmarked, it is determined that the pre-built map does not contain the missing map area. In actual scenarios, this means that the map area to be explored after step D is blank, a critical point is detected, and environmental information cannot be explored due to environmental limitations or because it is trapped by obstacles and all map information is forcibly cleared. In other scenarios, it means that the map area to be explored after the filling algorithm has no new map pose or environmental marker information compared to the original map; thus, no new map needs to be added to the map area to be explored after the current filling algorithm is executed, indirectly indicating that the missing map area does not exist. If the map area to be explored after step D contains any marker information, i.e., it is not a blank map area, proceed to step E13, indicating that the map area to be explored after step D may contain the missing map area, and there is a need to add map information.

[0042] It should be noted that the map region to be explored after step D can be the map region to be explored after being processed by the currently executed fill algorithm. It consists of the region expanded by the currently executed fill algorithm and the map region to be explored that has not been processed by the currently executed fill algorithm. Since the fill algorithm is used for region expansion (which can be represented as region filling), step D expands the passable area within the map region to be explored from the region expansion starting point to explore passable location points in the unknown area, at least connecting to the robot's current location point or the region expansion starting point.

[0043] Step E13: Remove the region extended by the filling algorithm from the map region to be explored processed in step D to obtain an effective map region. Then, it is determined that the region extended by the currently executed filling algorithm is cleared from the map region to be explored after the current filling algorithm is executed. The image pixel-level processing is to control the map region to be explored processed in step D and the region extended by the filling algorithm to perform a pixel-by-pixel AND operation.

[0044] If the filling algorithm is required to process the effective map area, the effective map area is updated to the map area to be explored as described in step D. Then, step D is executed, and a new area expansion starting point is obtained based on the updated map area to be explored, so that the filling algorithm can be used again to process the map area. The implementation is as follows: First, the area expanded by the currently executed filling algorithm is cleared in the map area to be explored processed by the current step D. Then, a new area expansion starting point is set in the remaining area. Then, the filling algorithm is used to process the remaining area from the new area expansion starting point until it is determined in step E11 that the robot's current position is in the area expanded by the latest executed filling algorithm. Then, step E2 is executed.

[0045] Based on the above embodiments, if it is determined that the robot's current position is not within the area expanded by the filling algorithm in each execution during the process of executing step E11 multiple times, then the map area to be explored processed by the latest execution step D is cleared directly, and it is determined that the robot is trapped (trapped by surrounding obstacles), and it can be determined that there is no missing map area.

[0046] As one embodiment, step E2 includes:

[0047] Step E21: Determine whether all points in each candidate boundary point set obtained in step B are not located in the neighborhood of the node extended by the filling algorithm. If yes, it is determined that there is no missing mapping area in the pre-built map, and it is also determined that there is no missing mapping location in the map area to be explored after the current step D, and it is also determined that there is no missing mapping location in the map area covered by each candidate boundary point set; otherwise, proceed to step E22.

[0048] When the robot's current position is determined to be within the area expanded by the filling algorithm in step E11, the robot determines in step E21 whether the neighborhood of the node expanded by the filling algorithm enters and covers the points in the candidate boundary point set, thereby determining that at least one point in the candidate boundary point set has a missing mapping location or that the area covered by all points in the candidate boundary point set does not have a missing mapping area.

[0049] Step E22: Whenever it is determined that at least one point in a candidate boundary point set is located in the neighborhood of the node extended by the filling algorithm, the x-coordinates of all points in the same candidate boundary point set are accumulated to obtain the accumulated x-coordinate value. The ratio between the accumulated x-coordinate value and the number of points in the candidate boundary point set is set as the x-coordinate of the midpoint of the same candidate boundary point set. At the same time, the y-coordinates of all points in the same candidate boundary point set are accumulated to obtain the accumulated y-coordinate value. The ratio between the accumulated y-coordinate value and the number of points in the candidate boundary point set is set as the y-coordinate of the midpoint of the same candidate boundary point set. The midpoint of the same candidate boundary point set represents the centroid of the area covered by the same candidate boundary point set.

[0050] Step E23: Set the x-coordinate of the midpoint of the same set of candidate boundary points and the y-coordinate of the midpoint of the same set of candidate boundary points as the coordinates of the missing map location, and determine the missing map location from the same set of candidate boundary points. Then, determine that there is a missing map location in the pre-built map. Based on this, the missing map location can be set as the starting point of the missing map action, and continue to build the map to complete the map.

[0051] Therefore, combining steps E21 to E23, the robot executes the filling algorithm. Whenever the neighborhood of a passable location point that has been expanded to (which can be understood as the filling algorithm filling to) exists within the candidate boundary point set, the robot sets the coordinates of the missing mapping location within the candidate boundary point set. This continues until the robot expands to the obstacle point or remains within the area to be explored, exploring unknown areas and excluding map areas where no missing mapping exists. Thus, by combining the candidate boundary point set and the area expanded by the filling algorithm, each missing mapping area is searched out, thereby achieving the goal of constructing a complete map.

[0052] The neighborhood of the node expanded by the filling algorithm includes the area where all nodes adjacent to the node expanded by the filling algorithm are distributed, starting from the node expanded by the filling algorithm. It should be added that, during the process of processing the map area to be explored using the filling algorithm, starting from the area expansion starting point, the area expanded by the filling algorithm covers the node expanded by the filling algorithm, so that the neighborhood of the node expanded by the filling algorithm is adjacent to the area expanded by the filling algorithm. The neighborhood of the area expansion starting point (which can be a traversable location point) can be its four-neighbor or eight-neighbor area. Here, the four-neighbor area includes eight symmetrical location points surrounding the node within the same map plane area and adjacent to that node, similar to a nine-square grid layout. Here, the eight-neighbor area includes four location points within the same map plane area, symmetrically centered on a node, similar to a cross distribution.

[0053] The expansion operation can be viewed as a filling operation. Each time the filling algorithm expands to a new passable location, it's considered as filling the map to that new passable location. The expansion endpoint of this algorithm includes obstacle points. The nodes or regions expanded by the robot using the filling algorithm are all located within passable areas and are connected to the expansion starting point. This allows the robot to move from the expansion starting point along the expanded passable locations to an obstacle point. If obstructed by an obstacle, the filling algorithm stops. Before reaching the obstacle point, the pixels the robot fills / expands to are all passable and can be filled with the same color (corresponding to a grayscale value) to facilitate map construction.

[0054] Within the pre-built map and within the map area to be explored before and after executing the filling algorithm, the environmental information marked within the coverage location corresponding to each point includes passable locations, and / or unknown locations, and / or locations occupied by obstacles. The corresponding pixels are, in order, the pixels marked as passable locations, the pixels marked as unknown locations, and the pixels marked as locations occupied by obstacles.

[0055] As one embodiment, step D includes:

[0056] The map region to be explored is mapped into a distance measurement space; wherein, the distance measurement space is the set of distances between all points in the map region to be explored other than the distance measurement starting point and the distance measurement starting point, with one obstacle point as the distance measurement starting point; the one obstacle point is marked as the pixel point occupying the position of the obstacle outline in the map region to be explored.

[0057] The distance count between each point located outside the obstacle outline of the ranging start point and the ranging start point is a negative integer; the distance count between each point located inside the closed area enclosed by the obstacle outline of the ranging start point and the ranging start point is an integer greater than or equal to 0; and the distance count between each point located within the obstacle outline of the ranging start point and the ranging start point is 0.

[0058] The location point with the largest distance from the distance measurement starting point is selected from the distance measurement space as the starting point for region expansion. Then, starting from the starting point for region expansion, a filling algorithm is used to process the passable area within the map area to be explored. That is, the filling algorithm is executed on the map area to be explored to achieve normalization processing of the map area to be explored according to the obstacle distance information, including normalization processing mapped to the distance range of the target obstacle.

[0059] It should be noted that each time the map area to be explored is updated, a new distance metric space is mapped and a new starting point for area expansion is selected. The nodes expanded by the robot using the filling algorithm include pixels connected to the starting point for area expansion.

[0060] As one embodiment, step C includes:

[0061] The robot extracts passable and obstacle regions from a pre-built map, which can be done by dividing the passable and obstacle regions according to a pre-set grayscale value range. Then, it dilates the currently extracted obstacle region to obtain a target expanded region within the currently extracted passable region. This smooths the outline of the obstacle region without significantly changing its area. The expanded obstacle region eliminates small areas with high grayscale values ​​compared to the unexpanded obstacle region, achieving a noise reduction effect. Then, the target expanded region is removed from the currently extracted passable region to obtain the map region to be explored. The second image morphology method is then completed. The map region to be explored is smaller than the passable region in the pre-built map, but it overcomes the interference of individual discrete obstacle points and contour lines.

[0062] As one embodiment, step B includes:

[0063] If the number of points within the same target boundary point set is greater than or equal to a preset threshold, then the same target boundary point set is determined to be a candidate boundary point set, and step C is executed; otherwise, the same target boundary point set is determined not to be a candidate boundary point set. The candidate boundary point set serves as a candidate set for the robot to filter for missed areas in subsequent steps. It may represent areas that require robot mapping, and for the robot, this may include obstacle areas, passable areas, or areas with unknown environmental attributes. Thus, the number of points within the target boundary point set is used to divide the pre-built map into a candidate boundary point set, which serves as a candidate area for determining missed mapping.

[0064] When it is determined that none of the target boundary point sets searched in step A are candidate boundary point sets, it is determined that the missing mapping area does not exist in the pre-built map. Alternatively, it can be determined that the missing mapping area does not exist within the area covered by each target boundary point set. Therefore, based on the determination results of all target boundary point sets, it is determined whether the missing mapping area exists in the pre-built map.

[0065] The preset quantity threshold uses the number of pixels in the pre-built map to represent the robot's body diameter. That is, when the robot's body diameter is represented by the number of pixels or position points, its value is the preset quantity threshold. When the number of all points within the same target boundary point set is greater than or equal to the preset quantity threshold, the maximum distance dimension of the area covered by the same target boundary point set is greater than or equal to the robot's body diameter. In some implementation scenarios, this is expressed as the straight-line distance between two points on the boundary line to be measured being greater than the robot's body diameter. When the number of all points within the same target boundary point set is less than the preset quantity threshold, the maximum distance dimension of the area covered by the same target boundary point set is less than the preset quantity threshold, and the maximum distance dimension of the area covered by the same target boundary point set is less than the robot's body diameter. The preset quantity threshold is preferably 7.

[0066] As one embodiment, step A includes:

[0067] Step A1: The robot uses a first image morphology method to extract a preset boundary map from the pre-constructed map; wherein, the preset boundary map is a set of preset boundary lines to describe the boundary between passable areas and unknown areas in the pre-constructed map; since the preset boundary map involves unknown areas, it is necessary to determine the missing map areas in the preset boundary map.

[0068] Preferably, the neighborhood of the preset boundary line contains pixels marked as passable locations and pixels marked as unknown locations. One side of the preset boundary line consists of pixels marked as unknown locations and is an unknown region composed of these pixels, while the other side of the preset boundary line consists of pixels marked as passable locations and is an unoccupied region composed of these pixels.

[0069] Step A2: The robot uses the first and second image morphology methods to search for at least one set of target boundary points from the preset boundary map, and determines that the first image morphology method has been completed.

[0070] It should be noted that the pre-built map is preferably a grid map constructed by the robot in advance by scanning its working area. Each grid in the grid map is mapped to a corresponding pixel in the map image. Each pixel is marked with location information (coordinate information) and environmental information (whether there are obstacles). The grid map also includes boundary points among terrain contour lines and obstacle contour lines. In this embodiment, the contour within the map area describes the contour of the working area within the map, so that the robot can walk directly along the corresponding contour, or obtain passable boundary points and boundary lines after selecting and sorting the described contour segments.

[0071] As one embodiment, step A1 includes:

[0072] The robot performs grayscale processing on the pre-built map according to a preset grayscale threshold to obtain a first map image. Preferably, in the pre-built map, pixels with grayscale values ​​greater than the preset grayscale threshold are configured with a grayscale value of 255, and their color is filled with white. White pixels are marked with a pixel value of 1, indicating passable locations. Pixels with grayscale values ​​less than or equal to the preset grayscale threshold are configured with a grayscale value of 0, and their color is filled with black. Black pixels are marked with a pixel value of 0, indicating obstacle locations. The preset grayscale threshold is preferably 127.

[0073] Then, the first map image is eroded and then dilated to obtain the second map image. Compared with the first map image, the second map image eliminates the brighter small areas in the first map image and separates objects at fine points. For larger objects, their boundaries can be smoothed without significantly changing their area. That is, the smaller white points (discretely distributed passable locations) are removed by erosion first, and then the original large white points are restored by dilation. This removes the small black points (discretely distributed obstacle locations). Specifically, during the process of the robot using the erosion template image to erode obstacle points in the first map image, the erosion template image (equivalent to a side length equal to the robot's body diameter) is used to extract obstacle points. The erosion process can be performed on the obstacle points from left to right until all obstacle points have been traversed. This allows some pixels marked as passable locations to be configured as obstacle points, removing smaller white dots, making the obstacle outline smoother, and thus expanding the area occupied by the obstacle. Then, the dilation template image is used to dilate the eroded first map image, restoring the original white dots and allowing it to occupy a larger area than before. Small black dots are removed, achieving noise and interference line elimination using morphological operations.

[0074] The robot then extracts a full contour map from the first and second map images. Correspondingly, multiple full contour lines can form a full contour map frame. The full contour lines include obstacle contour lines, or edge paths extending along obstacle contour lines (the distance between the edge path and the obstacle contour line is within a preset collision avoidance distance range, used to represent the robot's actual movement trajectory line along the obstacle; preferably, the preset collision avoidance distance range is set to be greater than or equal to the robot's body diameter, thereby setting a collision safety range), or the boundary lines of passable areas. The full contour map is considered as a set of contour lines within the pre-constructed map; within the pre-constructed map, the full contour lines are not necessarily closed lines, to facilitate obtaining each specific location point of the full contour line. In some embodiments, the full contour lines can be considered as the contour lines of a room, such as wall boundary lines.

[0075] Preferably, relative to the full outline in the first map image, the robot configures the gray value of a small portion of pixels in the full outline that originally had a gray value of 0 to 255. This is equivalent to remarking some pixels marked as obstacle outlines in the first map image as passable locations, so that the obstacle outlines in the first map image are shorter than those in the first map image, or the number of obstacle outlines in the first map image is less than the number of obstacle outlines in the first map image.

[0076] The robot searches for pixels in the neighborhood of each obstacle point in the first and second map images to obtain an obstacle contour map. The obstacle contour map is a set of obstacle contour lines. Each obstacle point on the obstacle contour line can be regarded as being located in the eight neighborhood of one of the obstacle points. Then, the obstacle contour line is set as a full contour line excluding the target boundary points, that is, the obstacle contour line does not overlap with each point (target boundary point) in the set of target boundary points.

[0077] Then, the robot removes the obtained obstacle contour map from the full contour map to obtain a preset boundary map for use in step A2. This is essentially controlling the subtraction of the area occupied by the full contour line and the obstacle contour line to obtain the preset boundary line, and acquiring the boundary points that make up the preset boundary line to construct the preset boundary map, thus completing the first image morphology method. During the image pixel-level implementation, the robot needs to use the image as a carrier to control the full contour map and the obstacle contour map to perform a pixel-by-pixel AND operation. Contour lines are extracted from the image obtained by the AND operation to obtain the preset boundary line, enabling the robot to remove the obstacle contour line from the full contour line.

[0078] In summary, step A1 involves thresholding, erosion, and dilation to denoise the map. Then, the full contour map and obstacle contour map are traversed within the denoised map. The obstacle contour map is then removed from the full contour map to obtain a preset boundary map. This completes the first image morphology method, separating a contour line (corresponding to the result of removing the obstacle contour line from the full contour line), and this is considered as passing the robot's drivability verification. Thus, based on the image morphology method, a more continuous and smooth boundary line is extracted from the pre-constructed map, initially ensuring the stability of the target boundary point set selection.

[0079] In some embodiments, the process of performing a pixel-by-pixel AND operation between the full contour map and the obstacle contour map specifically involves: controlling each pixel value in the full contour map to perform an AND operation with the pixel value at the corresponding pixel position in the obstacle contour map, thereby obtaining the pixel value of the preset boundary line at the corresponding pixel position. Similarly, the AND operation between the map area to be explored processed in step D and the area expanded by the filling algorithm can also be performed by subtracting the grayscale values ​​of the pixels. Preferably, the positional relationship of a pair of pixels performing the AND operation relative to the origin of the image coordinate system within their respective contour maps is the same. In some embodiments, the image obtained after performing the AND operation between the two contour maps contains only black lines, at which point the contour lines other than the obstacle contour lines, i.e., the preset boundary lines, have been separated from the full contour lines.

[0080] In some embodiments, the full outline extracted from the map is regarded as a line segment parallel to the obstacle outline, or the obstacle outline. The preset boundary point is a point on the boundary line between two different types of environmental regions, which can be regarded as the boundary line of one of the two adjacent different types of environmental regions. Further, the boundary line can be a common boundary line segment of two different types of environmental regions.

[0081] It should be noted that when the robot uses the erosion, dilation, and filling algorithms disclosed in the aforementioned embodiments to solve problems, it can construct a data structure that represents the state characteristics of its own grid position and the relationship between the states of different grid positions. This data structure is called a node, which is represented by pixels in the map image. Different problems require different data structures for description. Based on the conditions given in the problem of searching for target points, starting from a pixel, one or more new pixels can be found; this process is usually called expansion.

[0082] As one embodiment, step A2 includes:

[0083] Step A21: The robot controls the expansion of the preset boundary map to obtain a second map image, and then executes step A22; wherein, the expansion radius of the template image required for the expansion operation is equal to the robot's body radius, which can be understood as the side length of the template image being equal to the robot's body diameter; specifically, during the process of the robot using the template image to expand the obstacle points of the preset boundary map, the template image (equivalent to a side length equal to the robot's body diameter) is used to traverse the contour points in the preset boundary map and perform expansion processing until all contour points in the preset boundary map have been traversed, so that some contour points marked as obstacle points or unknown location points are configured as pixels of passable locations, producing larger white dots, making the boundary line of the passable area smoother, thereby expanding the area occupied by the passable area.

[0084] Step A22: Control the first map image and the second map image to perform a pixel-by-pixel AND operation to obtain the second map image, and then execute step A23. In the specific implementation process, the robot needs to use images as a carrier. The process of controlling the first map image and the second map image to perform a pixel-by-pixel AND operation includes: controlling each pixel value of the first map image to perform an AND operation with the pixel value of the corresponding pixel in the second map image to obtain the pixel value at the corresponding pixel position in the second map image, thereby eliminating the influence of the second map image in the first map image.

[0085] Step A23: Combine the pixels in the second map image into a set of map points to be processed to more accurately describe the boundary between traversable and unknown areas in the pre-constructed map, wherein the set of map points to be processed includes unknown location points; then execute step A24.

[0086] Step A24: When extracting a point from the set of map points to be processed (understood as an element in the set of map points to be processed), determine whether the currently extracted point is a traversed node. If yes, proceed to step A25; otherwise, proceed to step A26. Here, traversed nodes include points that have been added to the target boundary point set.

[0087] Step A25: Extract the next point from the set of map points to be processed, and update the next point to the currently extracted point described in step A24. Then execute step A24 again until there are no points in the set of map points to be processed or all points in the set of map points to be processed are traversed nodes. Then determine that the first and second image morphology methods are completed. The robot is configured to extract each point in the set of map points to be processed in an orderly and non-repeating manner.

[0088] Step A26: Set the point extracted in step A24 as the starting search point, that is, update the currently extracted point to the starting search point, and then execute step A27.

[0089] Step A27: Detect whether there is a node with a preset gray value in the neighborhood of the starting search point within the preset boundary map. If yes, proceed to step A28; otherwise, proceed to step A29. The preset gray value is preferably in the gray value range of 128 to 129.

[0090] Step A28: Add nodes with preset grayscale values ​​to the current target boundary point set, and determine that nodes with preset grayscale values ​​are traversed nodes. Then update nodes with preset grayscale values ​​to the starting search point, and then execute step A27; thereby assigning robot traversal information to unknown location points.

[0091] Step A29: Determine the starting search point as a point within the current target boundary point set, and confirm that the starting search point is a traversed node. Confirm the creation of the current target boundary point set is complete, and allocate corresponding storage space for the current target boundary point set in the robot's memory storage space to store each traversed node. Then execute step A210. If, during the first execution of step A27, it is determined that there are no nodes with preset grayscale values ​​in all neighborhoods of the starting search point, then the starting search point is determined to be the unique point within the current target boundary point set.

[0092] Step A210: Allocate storage space for the next target boundary point set, update the next target boundary point set to the current target boundary point set, and then execute step A25 to extract the next point from the same set of map points to be processed. Repeat this process until all points in the set of map points to be processed have been extracted, forming multiple target boundary point sets coexisting. The robot then searches for multiple target boundary point sets using the first and second image morphology methods, and the points in two of the target boundary point sets are not repeated, reducing the node search repetition rate and speeding up the search for the candidate boundary point set in step B. This further speeds up the search for missing mapping areas by utilizing the positional relationship between the neighborhood of the node extended by the filling algorithm and the candidate boundary point set.

[0093] Preferably, step A2 further includes: when each target boundary point set searched in step A2 is empty, determining that there are no missing mapping areas in the pre-constructed map, so that each pixel in the preset boundary map is a node already traversed by the robot. Wherein, when each target boundary point set searched in step A2 is empty, the set of map points to be processed is empty, or each point in the set of map points to be processed is a traversed node.

[0094] In summary, step A2 systematically and non-repeatingly explores the pixels of the map image that have already been completed using the first image morphology method, delineates at least one set of target boundary points, and more comprehensively and quickly searches for each missing mapping region or determines that no missing mapping region exists.

[0095] The robot disclosed in this application can execute the search method disclosed in the foregoing embodiments through a built-in chip. The chip is set on the circuit board inside the robot's body. The chip includes a computing processor, such as a central processing unit or application processor, that communicates with non-transitory memory, such as a hard disk, flash memory, or random access memory. The application processor executes the search method, such as Simultaneous Localization and Mapping (SLAM), based on obstacle-occupied areas, passable areas, and unknown areas fed back by various sensors. It draws an instant map of the robot's environment and marks obstacle positions, unknown positions, and passable position points. It can also search for unmapped areas in unknown areas.

[0096] Furthermore, certain requirements are placed on electronic components such as hard drives, CPUs, and memory to support the execution of the search method disclosed in the above embodiments. Therefore, the features of each step in the above search method have a limiting effect on the structure of the chip.

[0097] Obviously, the above embodiments are merely illustrative examples for clear explanation and are not intended to limit the implementation. Those skilled in the art will recognize that other variations or modifications can be made based on the above description. It is neither necessary nor possible to exhaustively list all possible implementations here. However, obvious variations or modifications derived therefrom are still within the scope of protection of this invention.

Claims

1. A search method for regions missing in robot mapping, characterized in that, The search method includes: Step A: The robot uses a first image morphology method to search for at least one set of target boundary points from a pre-constructed map; Step B: Based on the number of points, determine the candidate boundary point set for each target boundary point set; Step C: The robot uses a second image morphology method to extract the map area to be explored from the pre-constructed map; Step D: The robot sets a region expansion starting point from the area to be explored in the map region, and then uses a filling algorithm to process the area to be explored from the region expansion starting point to obtain the region expanded by the filling algorithm; Step E: Based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, search for the missing mapping region. In step E, the method for searching for missing mapping regions based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, includes: Step E1: Based on the positional relationship between the region expanded by the filling algorithm and the robot's current position, determine that there is no missing mapping region; Step E2: Based on the positional relationship between the neighborhood of the node extended by the filling algorithm and the candidate boundary point set, determine that the area covered by the candidate boundary point set is the missing mapping area, and obtain the missing mapping location from the candidate boundary point set; Step E1 includes: Step E11: Determine whether the robot's current position is within the area expanded by the filling algorithm. If yes, proceed to step E2; otherwise, proceed to step E12. Step E12: Determine whether the map area to be explored after step D is unmarked. If so, determine that the unmarked area does not exist in the pre-built map; otherwise, proceed to step E13. Step E13: Remove the area expanded by the filling algorithm from the map area to be explored processed in step D to obtain an effective map area; then update the effective map area to the map area to be explored, and then execute step D to obtain a new starting point for area expansion.

2. The search method according to claim 1, characterized in that, Step E2 includes: Step E21: Determine whether all points in each candidate boundary point set obtained in step B are not located in the neighborhood of the node extended by the filling algorithm. If so, determine that there is no missing map area in the pre-built map; otherwise, proceed to step E22. Step E22: Whenever it is determined that at least one point in a candidate boundary point set is located in the neighborhood of the node extended by the filling algorithm, the x-coordinates of all points in the same candidate boundary point set are accumulated to obtain the accumulated x-coordinate value. The ratio between the accumulated x-coordinate value and the number of points in the candidate boundary point set is set as the x-coordinate of the midpoint of the same candidate boundary point set. At the same time, the y-coordinates of all points in the same candidate boundary point set are accumulated to obtain the accumulated y-coordinate value. The ratio between the accumulated y-coordinate value and the number of points in the candidate boundary point set is set as the y-coordinate of the midpoint of the same candidate boundary point set. Step E23: Set the x-coordinate of the midpoint of the same set of candidate boundary points and the y-coordinate of the midpoint of the same set of candidate boundary points to the coordinates of the missing mapping location, and determine a missing mapping location from the same set of candidate boundary points, wherein there is a missing mapping location within the missing mapping region.

3. The search method according to claim 1, characterized in that, Step D includes: The map area to be explored is mapped into a distance measurement space; wherein, the distance measurement space is the set of distances between each location point in the map area to be explored, excluding the distance measurement start point, and the distance measurement start point, with one obstacle point as the distance measurement start point; Select the location point with the largest distance from the distance measurement starting point from the distance measurement space as the starting point of the region expansion, and then use the filling algorithm to process the passable area in the map area to be explored starting from the starting point of the region expansion; Each time the map region to be explored is updated, a new distance metric space is mapped and a new starting point for region expansion is selected; The nodes expanded by the robot using the filling algorithm include pixels connected to the starting point of the region expansion.

4. The search method according to claim 1, characterized in that, Step C includes: The robot extracts passable areas and obstacle areas from the pre-built map, then dilates the currently extracted obstacle area to obtain a target dilated area that is expanded into the currently extracted passable area; then it removes the target dilated area from the currently extracted passable area to obtain the map area to be explored, and determines that the second image morphology method has been completed.

5. The search method according to claim 1, characterized in that, Step B includes: Determine whether the number of all points in the same target boundary point set is greater than or equal to a preset number threshold. If yes, determine that the same target boundary point set is the candidate boundary point set and proceed to step C; otherwise, determine that the same target boundary point set is not the candidate boundary point set. The preset number threshold uses the number of pixels in a pre-built map to represent the robot's body diameter. When it is determined that each set of target boundary points searched in step A is not a set of candidate boundary points, it is determined that there is no missing map area in the pre-built map.

6. The search method according to claim 1, characterized in that, Step A includes: Step A1: The robot uses a first image morphology method to extract a preset boundary map from the pre-constructed map; wherein, the preset boundary map is a set of preset boundary lines to describe the boundary between traversable areas and unknown areas within the pre-constructed map; Step A2: The robot uses the first and second image morphology methods to search for at least one set of target boundary points from the preset boundary map, and confirms that the first image morphology method has been completed.

7. The search method according to claim 6, characterized in that, Step A1 includes: The robot performs grayscale processing on the pre-constructed map according to a preset grayscale threshold to obtain a first map image; then, it controls the first map image to first erode and then dilate to obtain a second map image; then, the robot extracts the full contour map from the first and second map images; wherein, the full contour map is a set of contour lines in the pre-constructed map. The robot searches for pixels in the neighborhood of each obstacle point within the first and second map images to obtain an obstacle contour map, which is a collection of obstacle contour lines. Then the robot removes the obtained obstacle contour map from the full contour map to obtain the preset boundary map, and obtains each boundary point that makes up the preset boundary line, and determines that the first image morphology method has been completed.

8. The search method according to claim 7, characterized in that, Step A2 includes: Step A21: The robot controls the expansion of the preset boundary map to obtain a second map image, and then executes step A22; Step A22: Control the first map image and the second map image to perform a pixel-by-pixel AND operation to obtain the second map image, and then execute step A23; Step A23: Combine the pixels in the second map image into a set of map points to be processed, and then execute step A24; Step A24: When extracting a pixel from the set of map points to be processed, determine whether the currently extracted pixel is a node that has been traversed. If yes, proceed to step A25; otherwise, proceed to step A26. Step A25: Extract the next pixel from the set of map points to be processed, and update the next pixel to the currently extracted pixel as described in step A24. Then execute step A24 until there are no points in the set of map points to be processed or all points in the set of map points to be processed are traversed nodes. Then determine that the first and second image morphology methods are completed. Step A26: Set the pixel extracted in step A24 as the starting search point, and then execute step A27; Step A27: Detect whether there are nodes with preset gray values ​​in the neighborhood of the starting search point within the preset boundary map. If yes, proceed to step A28; otherwise, proceed to step A29. Step A28: Add the nodes with preset gray values ​​to the current target boundary point set, and determine that the nodes with preset gray values ​​are already traversed nodes. Then update the nodes with preset gray values ​​to the starting search points, and then execute step A27. Step A29: Determine that the starting search point is a point within the current target boundary point set, and determine that the starting search point is a traversed node, and determine that the creation of the current target boundary point set is complete, and then execute step A210; Step A210: Allocate storage space for the next target boundary point set, update the next target boundary point set to the current target boundary point set, and then execute step A25.

9. The search method according to claim 7, characterized in that, Step A2 further includes: When each target boundary point set searched in step A2 is empty, it is determined that there is no missing map area in the pre-built map, so that each pixel in the preset boundary map is a node that the robot has already traversed.

Citation Information

Patent Citations

  • Supplementary mapping method and device, robot and storage medium

    CN115824191A

  • Missing area interpolation device, missing area interpolation method, and program

    JP2009069903A