Searching method based on missed mapping area of robot

Through image morphology methods and fill algorithms, the robot can detect and supplement the missing map construction area, solving the problem of missing areas during the robot during cleaning, ensuring the integrity of the map and the adaptability of environmental changes.

CN119533439AActive Publication Date: 2025-02-28AMICRO SEMICONDUCTOR CO LTD
View PDF 6 Cites 0 Cited by

Patent Information

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

AI Technical Summary

Technical Problem

The robot may miss some areas during the cleaning process, resulting in the occurrence of missed map locations, especially when the environment changes, if the door in the wall environment suddenly opens, the robot needs to detect and supplement the map of these areas.

Method used

By using the first and second image morphological methods, the target boundary point set and the map area to be explored from the pre-constructed map are searched, combined with the filling algorithm, the missing map construction area is expanded, and the missing map construction location is determined based on the relationship between the extended area and the candidate boundary point set.

Benefits of technology

Effectively detect and supplement the missing map construction area to ensure that the robot can build a complete map, especially when the environment changes, it can adjust and supplement map information in a timely manner.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119533439A_ABST
    Figure CN119533439A_ABST
Patent Text Reader

Abstract

The invention discloses a searching method based on a robot mapping missing area. The searching method comprises the steps that A, a robot searches out at least one target boundary point set from a pre-constructed map through a first image morphological method; b, on the basis of the number of the points, candidate boundary point sets are judged one by one according to the target boundary point sets; step C, the robot extracts a to-be-explored map area from the pre-constructed map by using a second image morphological method; step D, the robot sets an area expansion starting point from the map area to be explored, and then processes the map area to be explored by adopting a filling algorithm from the area expansion starting point to obtain an area expanded by the filling algorithm; and E, according to the position relationship between the area expanded by the filling algorithm and the current position point of the robot, and the position relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, searching a map building missing area, so that the robot can repair the leakage in the map building missing area.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the technical field of path node search, and in particular to a search method based on a robot's missed map construction area. Background Art

[0002] At present, the basis for indoor mobile robots to be called intelligent is that they can complete navigation and positioning functions when they have a map. Generally, the robot obtains the map by randomly expanding path nodes, and uses data structures representing various road environment information to participate in the search to simulate the real terrain contour in the map.

[0003] Many technologies related to intelligent mobile robots are based on maps. Commonly used maps can be roughly divided into three types: topological maps, geometric maps, and grid maps. There are many ways to obtain maps. For example, the global map constructed by the sweeping robot is gradually constructed during the cleaning process.

[0004] However, due to the distribution of obstacles in the environment, the map gradually constructed by the robot during the cleaning process may miss some areas, and the robot may not reach these areas, resulting in missed map locations or unmapped areas (considered as missed map areas), that is, the area that the robot originally needed to construct a map for becomes an area where map information is missing; or when the robot is constructing a map in an indoor environment, the door in the wall environment may be suddenly opened, which creates a need to continue constructing the map and cleaning the working area behind the door.

[0005] Therefore, there is an urgent need for robots to detect these location areas where maps need to be built in order to supplement the maps. Summary of the invention

[0006] This application discloses a search method based on a robot in an unmapped area. The specific technical solution is as follows: A search method based on a robot's missed map area, the search method comprising: step A, the robot uses a first image morphological method to search for at least one target boundary point set from a pre-constructed map; step B, based on the number of points, the candidate boundary point set is determined one by one by the target boundary point set; step C, the robot uses a second image morphological method to extract a map area to be explored from the pre-constructed map; step D, the robot sets an area expansion starting point from the map area to be explored, and then uses a filling algorithm to process the map area to be explored starting from the area expansion starting point to obtain an area expanded by the filling algorithm; step E, searching for the missed map area based on the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set.

[0007] In summary of the above steps, the technical solution performs two kinds of image morphological processing on the pre-constructed map respectively, so as to obtain the candidate boundary point set and the map area to be explored, and then performs a filling algorithm on the map area to be explored, and then searches for the missing map area based on the relationship between the area expanded by the filling algorithm and the candidate boundary point set and the current position point of the robot, including obtaining the missing map position from the candidate boundary point set, or determining that there is no missing map position in the pre-constructed map. Therefore, after the robot builds the global map, the missing map position is detected in the passable area or the unknown area, so that the robot can fill in the gaps in the area where the map information is missing, and can also continue to build the map in the area that does not need to be mapped but supports the robot's passage. For example, the door in the wall environment will be opened suddenly, and the robot can detect the missing map area from the untraversed area after opening the door by executing the search method, and then continue to build the map and clean in the missing map area behind the door, so as to control the robot to continue to fill in the gaps on the map.

[0008] Further, in the step E, according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, the method for searching for the missing map area includes: step E1, according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, determining that the missing map area does not exist, or selecting to execute step E2; step E2, according to the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, determining that the area covered by the candidate boundary point set is the missing map area, and obtaining the missing map position from the candidate boundary point set. In this way, it is determined whether the missing map position can be calculated from the candidate boundary point set, and the missing map position can be set as the starting point of the missing map filling action based on step E2, and the map construction is continued to complete the map.

[0009] Further, the step E1 includes: step E11, judging whether the current position of the robot is in the area expanded by the filling algorithm, if yes, executing step E2, otherwise executing step E12; step E12, judging whether the map area to be explored processed by step D is marked with any information, if yes, determining that the missing map area does not exist in the pre-built map, otherwise executing 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 in the map area to be explored processed by the current step D, then set a new area expansion starting point in the remaining area, and then use the filling algorithm to process the remaining area from the new area expansion starting point, until it is determined in the subsequent step E11 that the current position of the robot is in the area expanded by the latest executed filling algorithm, and then executing step E2.

[0010] Further, the step E2 comprises: step E21, judging whether all points in each candidate boundary point set obtained in step B are not located in the neighborhood of the node to which the filling algorithm is extended, and if so, determining that the missing map area does not exist in the pre-constructed map; otherwise, executing step E22; step E22, whenever it is judged that at least one point in a candidate boundary point set is located in the neighborhood of the node to which the filling algorithm is extended, accumulating the horizontal coordinates of each point in the same candidate boundary point set to obtain the accumulated horizontal coordinate value, and then setting the ratio between the accumulated horizontal coordinate value and the number of points in the candidate boundary point set as the value used to represent the same The horizontal coordinate of the midpoint of a candidate boundary point set; at the same time, the vertical coordinates of each point in the same candidate boundary point set are accumulated to obtain an accumulated vertical coordinate value, and then the ratio between the accumulated vertical coordinate value and the number of points in the candidate boundary point set is set as the vertical coordinate of the midpoint representing the same candidate boundary point set; step E23, the horizontal coordinate of the midpoint representing the same candidate boundary point set and the vertical coordinate of the midpoint representing the same candidate boundary point set are set as the coordinates of one of the missing mapping positions, and it is determined to obtain a missing mapping position from the same candidate boundary point set, wherein the missing mapping position exists in the missing mapping area. Therefore, combining steps E21 to E23, the robot executes the filling algorithm, and whenever the neighborhood of the traversable position point expanded to (which can be understood as filled by the filling algorithm) exists in the candidate boundary point set, the robot sets the coordinates of the missing mapping position in the candidate boundary point set, and keeps expanding to the obstacle point or remains in the map area to be explored to explore the unknown area and exclude the map area where the missing mapping area does not exist, thereby combining the candidate boundary point set and the area expanded by the filling algorithm to search out each missing mapping area, so as to achieve the purpose of building a complete map.

[0011] Furthermore, the step D includes: mapping the map area to be explored into a distance metric space; wherein the distance metric space is a set of distances between each position point in the map area to be explored and the distance measurement starting point, except for the distance measurement starting point, with one of the obstacle points as the distance measurement starting point; selecting the position point with the largest distance from the distance measurement starting point from the distance metric space as the area expansion starting point, and then using the filling algorithm to process the passable area in the map area to be explored from the area expansion starting point; whenever the map area to be explored is updated once, a new distance metric space is mapped and a new area expansion starting point is selected; wherein the nodes to which the robot is extended using the filling algorithm include pixels connected to the area expansion starting point. The map area to be explored is normalized according to the obstacle distance information, including normalization mapping to the distance range from the target obstacle.

[0012] Further, the step C includes: the robot extracts the traversable area and the obstacle area from the pre-constructed map, then dilates the currently extracted obstacle area to obtain the target dilated area that is dilated into the currently extracted traversable area; then removes the target dilated area from the currently extracted traversable area to obtain the map area to be explored, and determines the completion of the second image morphology method. Overcome the interference of individual discrete obstacle points and contour lines.

[0013] Further, step B includes: judging 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, determining that the same target boundary point set is the candidate boundary point set, and executing step C, otherwise determining that the same target boundary point set is not the candidate boundary point set; the preset number threshold uses the number of pixel points in the pre-constructed map to represent the body diameter of the robot; when it is judged that each of the target boundary point sets searched out in step A is not the candidate boundary point set, determining that the missing map area does not exist in the pre-constructed map. Thus, based on the judgment results of all the target boundary point sets, it is determined that the missing map area does not exist in the pre-constructed map memory.

[0014] Furthermore, step A includes: step A1, the robot uses a first image morphological 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 the passable area and the unknown area in the pre-constructed map; step A2, the robot uses the first image morphological method to search for at least one target boundary point set from the preset boundary map, and determines that the first image morphological method is completed.

[0015] Furthermore, the step A1 includes: the robot grayscales the pre-constructed map according to a preset grayscale threshold to obtain a first map image; then controls the first map image to be corroded and then expanded to obtain a first second map image; then the robot extracts a full contour map from the first second map images; wherein the full contour map is a collection of contour lines in the pre-constructed map; the robot searches for pixel points in the neighborhood of each obstacle point in the first second map images to obtain an obstacle contour map, wherein the obstacle contour map is a collection of obstacle contour lines; then the robot removes the obtained obstacle contour map from the full contour map to obtain a preset boundary map, and obtains each boundary point constituting the preset boundary line, and determines to complete the first image morphological method. In summary, the step A1 performs threshold graying, corrosion and expansion processing in sequence to complete denoising, and then traverses the full contour map and the obstacle contour map in the denoised map, and then removes the obstacle contour map from the full contour map to obtain the preset boundary map, completing the first image morphological method, separating a contour line (corresponding to the result of removing the obstacle contour line from the full contour line), and is regarded as passing the robot's passability verification; thereby, according to the image morphological method, a more continuous and smooth boundary line is extracted from the pre-constructed map, and the stability of the target boundary point set selection is preliminarily guaranteed.

[0016] Further, the step A2 includes: step A21, the robot controls the expansion of the preset boundary map to obtain a second-first map image, and then executes step A22; step A22, controls the first-first map image and the second-first map image to perform pixel-by-pixel ANDing to obtain a second-second map image, and then executes step A23; step A23, the pixels in the second-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 point from the set of map points to be processed, it is determined whether the currently extracted pixel point is a traversed node, if so, execute step A25, otherwise execute step A26; step A25, extract the next pixel point from the set of map points to be processed, and update the next pixel point to the currently extracted pixel point described in step A24, and 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 have been traversed. Node, and then determine that the first and second image morphological methods are completed; step A26, set a pixel point extracted in step A24 as the starting search point, and then execute step A27; step A27, detect whether there is a node with a preset gray value in the neighborhood of the starting search point in the preset boundary map, if so, execute step A28, otherwise execute step A29; step A28, add the node with the preset gray value to the current target boundary point set, and determine that the node with the preset gray value is a traversed node, and then update the node with the preset gray value to the starting search point, and then execute step A27; step A29, determine that the starting search point is a point in 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 completed, and then execute step A210; step A210, open up storage space for the next target boundary point set, and then update the next target boundary point set to the current target boundary point set, and then execute step A25. This process is repeated until all points in the to-be-processed map point set have been extracted, forming multiple target boundary point sets coexisting. Then, the robot searches for multiple target boundary point sets through the first and second image morphology methods, and the points in two target boundary point sets do not overlap with each other, thereby reducing the node search repetition rate, speeding up the search for the candidate boundary point set in step B, and further speeding up the search for the missing mapping area by using the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set.

[0017] Furthermore, the step A2 also includes: when each target boundary point set searched out in step A2 is empty, determining that the missing map area does not exist in the pre-constructed map, so that each pixel point in the preset boundary map is a node that has been traversed by the robot.

[0018] In summary, step A2 explores the pixel points of the map image that has been completed by the first image morphology method in an orderly and non-repetitive manner, divides at least one target boundary point set, and searches each missing mapping area more comprehensively and quickly or determines that there is no missing mapping area. BRIEF DESCRIPTION OF THE DRAWINGS

[0019] Figure 1 An embodiment of the present application discloses a flow chart of a method for searching for areas that are missed by a robot. Implementation

[0020] The specific embodiments of the present invention are further described below in conjunction with the accompanying drawings. The present invention is provided with accompanying drawings. These drawings are part of the disclosure of the present invention, which are mainly used to illustrate the embodiments, and can be used in conjunction with the relevant description of the specification to explain the operating principles of the embodiments. With reference to these contents, a person of ordinary skill in the art should be able to understand other possible implementations and the advantages of the present invention. Processing or methods depicted as flow charts. Although the flow chart describes each step as a sequential process, many of the steps can be implemented in parallel, concurrently or simultaneously. In addition, the order of the steps can be rearranged. The process can be terminated when its operation is completed, but it can also have additional steps not included in the accompanying drawings. The process can correspond to a method, function, procedure, subroutine, subprogram, etc.

[0021] It should be noted that when using a search algorithm to solve a problem, it is necessary to construct a data structure that indicates the state characteristics and the relationship between different states. This data structure is called a node. Different problems require different data structures. Based on the conditions given by the search problem, one or more new nodes can be generated from a node. This process is usually called expansion and is applicable to node search operations in filling algorithms and neighborhood searches.

[0022] As an embodiment, in order to fill in the missing map environment area in the pre-constructed map, or to continue to map the area that has not been scanned before and urgently needs to be worked on, it is necessary to check and fill in the missing map image based on the already constructed map area. In this regard, this embodiment discloses a search method for the missing map area based on the robot. The execution subject of the search method is the robot, which can also be understood as a controller capable of running program code set inside the robot; Figure 1 As shown, the search method includes the following steps: Step A, the robot uses the first image morphology method to search for at least one target boundary point set from the pre-constructed map. Then execute step B. The premise of executing step A is to obtain a pre-constructed map, including the map outline and the boundary points in the outline, which are stored in the form of an image. In step A, the robot uses image processing algorithms associated with image morphology such as expansion, corrosion, and operation operations to process the map image area. It can search for boundary points located in the boundary line between the passable area and the unknown area from the map outline, especially in the neighborhood of the relevant boundary points. Search for passable positions or obstacle positions, and then obtain a set of boundary points or unknown position points associated with the unknown area by performing logical operations on the map image area before and after expansion. Of course, the position point set of the relevant position attribute can also be selected by the gray value of the pixel point, for example, the set of unknown position points. In summary, the first image morphology method is combined in various ways to achieve the search for at least one target boundary point set from the pre-constructed map, that is, multiple target boundary point sets are divided in the same map image area, in order to search for multiple missing map locations, and provide a map search area with a larger coverage area for subsequent steps.

[0023] Step B, based on the number of points, the candidate boundary point set is determined one by one by the target boundary point set, so as to screen out the candidate area for searching the missed map area on the basis of step A, and improve the search accuracy. Then execute step C. In step B, the number of points is expressed as: from the level of the image processed by the first image morphology method, it can be understood as the number of pixels, from the level of the target boundary point set searched out in step A, it can be understood as the number of points in the set, from the level of the map area, it can be understood as the number of cells constituting the map, or the number of coordinate points in the map coordinate system, or the number of nodes of the trajectory planned in the map. On this basis, there may be areas where the robot has missed building a map in the area covered by each of the target boundary point sets, that is, there may be missed map areas, so it is necessary to screen out the candidate point set according to the size characteristics of the robot itself, that is, to determine the candidate boundary point set, for further judgment in subsequent steps, so as to use the number of pixels of various environmental types covered by the passable target boundary point set within the robot's fuselage range to obtain the area that still needs to be mapped, which can make the robot more efficient and faster when exploring unknown areas.

[0024] Step C, the robot uses the second image morphology method to extract the map area to be explored from the pre-constructed map. Then step D. In order to extract the area for constructing the map, the map area to be explored is generally the area after excluding the area occupied by obstacles, including passable areas (consisting of passable position points (pixel points of a specific grayscale value)) and unknown areas (consisting of unknown position points (pixel points of another specific grayscale value)), but excluding obstacle points. In step C, the robot can first expand the area occupied by obstacles in the pre-constructed map to accurately obtain the passable area; it will also perform quantitative position analysis of each position point / pixel point in the map area to be explored based on a description map / metric space of how far away from the obstacle, for example, determine the coordinates of each position point / pixel point in the map area to be explored based on the inside and outside of the obstacle contour, and provide effective distance information for the area expansion starting point required by the subsequent filling algorithm.

[0025] Step D: The robot sets a starting point for area expansion in the map area to be explored, and then uses a filling algorithm to process the map area to be explored from the starting point for area expansion to obtain an area expanded by the filling algorithm; then executes step E. In step D, the robot uses a filling algorithm to process the map area to be explored, which can also be understood as executing a filling algorithm on the map area to be explored, and starting from the starting point for area expansion, the robot starts to expand toward the neighborhood in the map area to be explored.

[0026] If divided according to the number of executions, the area expanded by the filling algorithm includes the newly added map area of ​​the to-be-explored map area processed by the currently executed filling algorithm relative to the to-be-explored map area not processed by the currently executed filling algorithm, and the newly added map area may include an unknown area. If the to-be-explored map area processed by each execution of step D is different, the area expansion starting point used for each execution of step D is also different, and the area expansion starting point is selected from the distance mapping information of the to-be-explored map area to be expanded to the current position point of the robot and the missing map area in its neighborhood, wherein the distance mapping information is used to describe the distance between each position point in the to-be-explored map area and an obstacle point.

[0027] In step D, before being processed by the filling algorithm, the map area to be explored includes a traversable area and an unknown area, or the map area to be explored is a traversable area.

[0028] 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 area expansion starting point determined in the previous steps (which can be the origin of the coordinate system converted from the map area to be explored) and extracts or fills the nearby nodes connected to it with different colors, and assigns different grayscale values ​​to areas with the same position attributes.

[0029] Step E: searching for missing mapping areas according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set. Specifically, searching for missing mapping areas in the map area to be explored or the pre-built map includes obtaining missing mapping positions from the candidate boundary point set. The missing mapping area includes at least one missing mapping position, and it can also be determined that there is no missing mapping position, thereby searching for missing mapping areas and excluding areas that do not need to be mapped.

[0030] In some embodiments, the area expanded by the filling algorithm is an area expanded from an area expansion starting point in the map area to be explored and expanded in each neighborhood. In the process of executing step E, the map area to be explored will be updated by judging the area expanded by the filling algorithm, and then returning to execute step D, continuously searching for the area connected to the current position point of the robot until it is determined that the current position point of the robot is in the area expanded by the filling algorithm, and then judging whether the points in the candidate boundary point set are in the neighborhood of the node expanded by the filling algorithm, so as to determine whether the area covered by the candidate boundary point set is a missing map area, and determine whether the missing map position can be calculated from the candidate boundary point set. On this basis, the missing map position can be set as the starting point of the map filling action, and the map construction is continued to complete the map.

[0031] In summary of the above steps, this embodiment performs two kinds of image morphological processing on the pre-constructed map, thereby obtaining the candidate boundary point set and the map area to be explored, and then performs a filling algorithm on the map area to be explored, and then searches for the missing map area based on the relationship between the area expanded by the filling algorithm and the candidate boundary point set and the current position point of the robot, including obtaining the missing map position from the candidate boundary point set, or determining that the missing map position does not exist in the pre-constructed map. Therefore, after the robot builds a global map, the missing map position is detected in the passable area or the unknown area, allowing the robot to fill in the gaps in the area where the map information is missing, and can also continue to build a map in the area that does not need to be mapped but supports the robot's passage. For example, the door in the wall environment will be suddenly opened, and the robot can detect the missing map area from the untraversed area after the door is opened by executing the search method, and then continue to build the map and clean in the missing map area behind the door, so as to control the robot to continue to fill in the gaps on the map.

[0032] As an embodiment, in the step E, according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, the method for searching for the missing mapping area includes: Step E1: According to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, it is determined that there is no missing mapping area, or step E2 is selected to be executed.

[0033] Specifically, the robot executes the filling algorithm according to the passable area inside the map area to be explored, determines that there is no missing map working area (missing map area) in the map area to be explored or in the original map before executing the second image morphology method, and then, when the robot determines that there is no missing map position or no missing map working area, there is no need to fill the map. Of course, the condition for executing step E2 can also be determined according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot.

[0034] In the process of executing step E1, the newly expanded area can be eliminated to update the map area to be explored based on the situation that the current position point of the robot is located at the position expanded by the currently executed filling algorithm, and then return to execute step D to continuously search for valid areas connected to the current position point of the robot, and further combine with step E2 to explore possible missing map areas, so as to screen out the missing map areas in the candidate boundary point set.

[0035] Step E2: According to 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, in step E1, it is determined that the current position of the robot is in the area extended by the filling algorithm. Then, in step E2, the robot determines whether the neighborhood of the node extended by the filling algorithm enters and covers the points in the candidate boundary point set, so as to determine whether there is a missing mapping position in the area covered by the candidate boundary point set or there is no missing mapping position in the area covered by all points in the candidate boundary point set, so as to determine whether the missing mapping position can be calculated from the candidate boundary point set. On the basis of step E2, the missing mapping position can be set as the starting point of the missing mapping action, and the map construction is continued to complete the map.

[0036] Specifically, the step E1 includes: Step E11, determine whether the current position of the robot is within the area expanded by the filling algorithm, if yes, execute step E2, otherwise execute step E12. It should be noted that the area expanded by the filling algorithm is the result of the robot using the filling algorithm to process the expansion of the map area to be explored in step C, so that step E11 detects the current position of the robot in a map area that is as connected as possible. This map area that is as connected as possible can be understood as the area that is expanded to the map area to be explored in the direction of extending the filling algorithm to the passable area. Preferably, each time the filling algorithm is executed, a new area is expanded from the starting point of the area expansion within the map area to be explored.

[0037] Step E12, determine whether the map area to be explored processed by step D is not marked with any information; when the map area to be explored processed by step D is not marked with any information, it is determined that the missing map area does not exist in the pre-constructed map. When implemented in actual scenarios, it means that the map area to be explored processed by step D is blank, and a critical point is detected. Due to the limitation of environmental factors, environmental information cannot be explored or all map information is forced to be cleared because of being trapped by obstacles. In other scenarios, it means that the map area to be explored after the filling algorithm is executed has no new map pose and environmental marking information relative to the original map; thus, no new map is needed in the map area to be explored after the current execution of the filling algorithm, which indirectly indicates that there is no missing map area. When the map area to be explored processed by step D has any marked information, that is, it is not a blank map area, step E13 is executed, indicating that the missing map area may exist in the map area to be explored processed by step D, and there is a need to add new map information.

[0038] It should be noted that the map area to be explored processed by step D may be the map area to be explored processed by the currently executed filling algorithm, and is composed of the area expanded by the currently executed filling algorithm and the map area to be explored that has not been processed by the currently executed filling algorithm. Since the filling algorithm is used to expand the area (which can represent area filling), step D is to expand the traversable area in the map area to be explored starting from the area expansion starting point, so as to explore the traversable position point in the unknown area, which is at least connected to the current position point of the robot or the area expansion starting point.

[0039] Step E13, remove 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 determine to clear the area expanded by the filling algorithm currently executed in the map area to be explored after the filling algorithm is currently executed. Processing at the image pixel level is to control the map area to be explored processed by step D and the area expanded by the filling algorithm to perform a pixel-by-pixel AND operation.

[0040] If it is necessary to use the filling algorithm to process the valid map area, the valid map area is updated to the map area to be explored described in step D, and then step D is executed to obtain a new area expansion starting point based on the updated map area to be explored, so that the filling algorithm can be used again to process the map area; to achieve: 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, and then a new area expansion starting point is set in the remaining area, and then the filling algorithm is used to process the remaining area from the new area expansion starting point, until it is determined in the subsequent step E11 that the current position of the robot is in the area expanded by the latest executed filling algorithm, and then the step E2 is executed.

[0041] On the basis of the above embodiment, when it is determined that step D is returned to be executed multiple times in succession, in the process of executing step E11 multiple times in succession, it is determined that the current position point of the robot is not in the area expanded by the filling algorithm executed each time, then the map area to be explored processed by the latest execution of step D is directly cleared, 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.

[0042] As an embodiment, the 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 to which the filling algorithm is extended, if so, determining that the missing map area does not exist in the pre-constructed map, determining that the missing map location does not exist in the map area to be explored after the current step D, and determining that the missing map location does not exist in the map area covered by each candidate boundary point set; otherwise, executing step E22.

[0043] When it is determined in step E11 that the current position of the robot is within the area expanded by the filling algorithm, 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 position or that the area covered by all points in the candidate boundary point set does not have a missing mapping area.

[0044] 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 to which the filling algorithm is extended, the horizontal coordinates of each point in the same candidate boundary point set are accumulated to obtain a horizontal coordinate accumulated value, and then the ratio between the horizontal coordinate accumulated value and the number of points in the candidate boundary point set is set as the horizontal coordinate used to represent the midpoint of the same candidate boundary point set; at the same time, the vertical coordinates of each point in the same candidate boundary point set are accumulated to obtain a vertical coordinate accumulated value, and then the ratio between the vertical coordinate accumulated value and the number of points in the candidate boundary point set is set as the vertical coordinate used to represent 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.

[0045] Step E23, setting the horizontal coordinate of the midpoint of the same candidate boundary point set and the vertical coordinate of the midpoint of the same candidate boundary point set as the coordinate of one of the missing map positions, and determining to obtain one of the missing map positions from the same candidate boundary point set, and then determining that there is a missing map position in the pre-constructed map, on this basis, the missing map position can be set as the starting point of the missing map filling action, and continue to construct the map to complete the map.

[0046] Therefore, combining steps E21 to E23, the robot executes the filling algorithm, and whenever the neighborhood of the traversable position point expanded to (which can be understood as filled by the filling algorithm) exists in the candidate boundary point set, the robot sets the coordinates of the missing mapping position in the candidate boundary point set, and keeps expanding to the obstacle point or remains in the map area to be explored to explore the unknown area and exclude the map area where the missing mapping area does not exist, thereby combining the candidate boundary point set and the area expanded by the filling algorithm to search out each missing mapping area, so as to achieve the purpose of building a complete map.

[0047] The neighborhood of the node to which the filling algorithm is extended includes the area where all nodes adjacent to the search starting point are distributed, with the node to which the filling algorithm is extended as the starting point of area expansion. It should be supplemented that, in the process of using the filling algorithm to process the map area to be explored, starting from the starting point of area expansion, the area expanded by the filling algorithm covers the node to which the filling algorithm is extended, so that the neighborhood of the node to which the filling algorithm is extended is adjacent to the area expanded by the filling algorithm. The neighborhood of the starting point of area expansion (which may be a passable location point) may be its four neighborhoods or eight neighborhoods, where the four neighborhoods include eight symmetrical location points that surround the node in the same map plane area and are adjacent to the node, similar to the layout of a nine-square grid. The eight neighborhoods here include four location points in the same map plane area with a node as the center of symmetry, similar to the distribution form of a cross.

[0048] The expansion operation can be regarded as a filling operation. Each time the filling algorithm expands to a new passable position point, it is regarded as filling a new passable position point in the map, and the expansion end point of the filling algorithm includes the obstacle point; wherein, the nodes or areas expanded to by the robot using the filling algorithm are all located in the passable area and are connected to the starting point of the area expansion, so that the robot starts from the starting point of the area expansion, walks to the obstacle point according to the expanded passable position point, and is blocked by the obstacle point. At this time, the filling algorithm is stopped. Before expanding to the obstacle point, the pixel points filled / expanded to by the robot are all points that support the robot's passage and can be filled with the same color (corresponding to a grayscale value) to facilitate map construction.

[0049] In the pre-constructed map and in the map area to be explored before and after executing the filling algorithm, the environmental information marked in the coverage position corresponding to each point includes a passable position, and / or an unknown position, and / or an obstacle occupied position, and the corresponding pixel points are, in sequence, the pixel points marked as passable positions, the pixel points marked as unknown positions, and the pixel points marked as obstacle occupied positions.

[0050] As an embodiment, the step D includes: The map area to be explored is mapped into a distance metric space; wherein the distance metric space is a set of distances between each position point in the map area to be explored except for the ranging starting point and the ranging starting point, with one of the obstacle points as the ranging starting point; and one of the obstacle points is marked as a pixel point in the map area to be explored where the obstacle outline occupies a position.

[0051] The distance count between each position point located outside the obstacle contour where the ranging starting point is located and the ranging starting point is a negative integer, the distance count between each position point located inside the closed area surrounded by the obstacle contour where the ranging starting point is located and the ranging starting point is an integer greater than or equal to 0, and the distance count between each position point located in the obstacle contour where the ranging starting point is located and the ranging starting point is 0.

[0052] A position point with the largest distance from the distance measurement starting point is selected from the distance metric space as the area expansion starting point, and then a filling algorithm is used to process the passable area in the map area to be explored from the area expansion starting point, that is, the filling algorithm is started to be executed on the map area to be explored, so as to realize normalization processing of the map area to be explored according to the obstacle distance information, including normalization processing mapped to the distance range from the target obstacle.

[0053] 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 area expansion starting point is selected. The nodes expanded to by the robot using the filling algorithm include pixels connected to the area expansion starting point.

[0054] As an embodiment, the step C includes: The robot extracts a traversable area and an obstacle area from a pre-constructed map, and the traversable area and the obstacle area can be divided according to a preset gray value range; then the currently extracted obstacle area is expanded to obtain a target expansion area that is expanded into the currently extracted traversable area, and the contour of the obstacle area is smoothed without significantly changing the area of ​​the obstacle area. The expanded obstacle area eliminates small areas with higher gray values ​​than the obstacle area before the expansion, so as to achieve a denoising effect; then the target expansion area is eliminated from the currently extracted traversable area to obtain the map area to be explored, and the second image morphological method is determined to be completed. The map area to be explored is reduced relative to the traversable area in the pre-constructed map, but the interference of individual discrete obstacle points and contour lines is overcome.

[0055] As an embodiment, the 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 execute step C. Otherwise, determine that the same target boundary point set is not the candidate boundary point set. The candidate boundary point set is used as a candidate set for the robot to screen the missed areas in the subsequent steps. It may represent the area where the robot needs to build a map. For the robot, it may include obstacle areas, passable areas, or areas with unknown environmental attribute information. Thus, the candidate boundary point set is divided from the pre-built map according to the number of points in the target boundary point set as a candidate area for judging the missed map.

[0056] When it is determined that all the target boundary point sets searched in step A are not the candidate boundary point sets, it is determined that the missing map area does not exist in the pre-constructed map, and it can also be determined that the missing map area does not exist in the area covered by each target boundary point set. Thus, based on the judgment results of all the target boundary point sets, it is determined that the missing map area does not exist in the pre-constructed map memory.

[0057] The preset number threshold uses the number of pixels in the pre-constructed map to represent the body diameter of the robot, that is, when the body diameter of the robot is represented by the number of pixels or the number of position points, its number value is the preset number threshold; when the number of all points in the same target boundary point set is greater than or equal to the preset number threshold, the maximum distance dimension of the area covered by the same target boundary point set is greater than or equal to the body diameter of the robot, which is represented in some implementation scenarios as the straight-line distance between two points in the boundary line to be measured being greater than the body diameter of the robot; when the number of all points in the same target boundary point set is less than the preset number threshold, the maximum distance dimension of the area covered by the same target boundary point set is less than the preset number threshold, and the maximum distance dimension of the area covered by the same target boundary point set is less than the body diameter of the robot. The preset number threshold is preferably 7.

[0058] As an embodiment, the step A includes: Step A1, the robot uses the first image morphology method to extract a preset boundary map from the pre-constructed map; wherein the preset boundary map is a collection of preset boundary lines to describe the boundary between the passable area and the unknown area in the pre-constructed map; since the preset boundary map involves an unknown area, it is necessary to determine the missing map area in the preset boundary map.

[0059] Preferably, there are pixel points marked as passable location points and pixel points marked as unknown location points in the neighborhood of the preset boundary line, and one side of the preset boundary line is pixel points marked as unknown location points and is an unknown area composed of these pixel points, and the other side of the preset boundary line is pixel points marked as passable location points and is an unoccupied area composed of these pixel points.

[0060] Step A2: The robot uses the first image morphology method to search for at least one target boundary point set from the preset boundary map, and determines that the first image morphology method is completed.

[0061] It should be noted that the pre-constructed map is preferably a grid map constructed by the robot scanning in advance in the working area where it is located. Each grid in the grid map is mapped to a corresponding pixel point in the map image, and each pixel point is marked with location information (coordinate information) and environmental information (whether there are obstacles). The grid map also includes boundary points in terrain contour lines and obstacle contour lines. In this embodiment, the contour in the map area is the contour of the working area described in 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.

[0062] As an embodiment, the step A1 includes: The robot grayscales the pre-constructed map according to a preset grayscale threshold to obtain a first map image. Preferably, in the pre-constructed map, the grayscale value of the pixel point whose grayscale value is greater than the preset grayscale threshold is configured as 255, the color of the pixel point is filled with white, and the pixel value of the white pixel point is marked as 1, indicating a passable position point; the grayscale value of the pixel point whose grayscale value is less than or equal to the preset grayscale threshold is configured as 0, the color of the pixel point is filled with black, and the pixel value of the black pixel point is marked as 0, indicating an obstacle position point. The preset grayscale threshold is preferably 127.

[0063] Then the first map image is controlled to be corroded first and then expanded to obtain the first and second map images. Compared with the first map image, the first and second map images eliminate the small areas with higher brightness in the first map image and separate objects at fine points. For larger objects, their boundaries can be smoothed without significantly changing their areas. That is, the smaller white dots (discretely distributed passable position points) are first removed by corrosion operation, and then the original large white dots are restored by expansion operation, so that the small black dots (discretely distributed obstacle position points) are removed. Specifically, in the process of the robot calling the corrosion template image to corrode the obstacle points in the first map image, the corrosion template image (equivalent to a side length equal to the body diameter of the robot) is used to extract the obstacle points, and the obstacle points can be corroded from left to right until all the obstacle points are traversed, so that some pixel points marked as passable positions are configured as obstacle points, and smaller white dots are removed to make the obstacle contour smoother, thereby expanding the area occupied by the obstacle; then the expansion template image is used to expand the first map image after the corrosion process, the original white dots are restored and the area occupied can be larger than the original area, and the small black dots are removed, so as to achieve the use of morphological operations to eliminate noise points and interference lines.

[0064] Then the robot extracts a full contour map from the first and second map images. Correspondingly, a plurality of full contour lines can form a full contour map frame. The full contour line includes an obstacle contour line, or an edge route extending along the obstacle contour line (the distance between the edge route and the obstacle contour line is within a preset anti-collision distance range, which is used to indicate the actual motion trajectory of the robot walking along the obstacle. Preferably, the preset anti-collision distance range is set to be greater than or equal to the body diameter of the robot, thereby setting a collision safety range), or a boundary line of a passable area. The full contour map is regarded as a collection of contour lines within the pre-constructed map; within the pre-constructed map, the full contour line is not necessarily a closed line, so as to facilitate the acquisition of each specific position point of the full contour line. In some embodiments, the full contour line can be regarded as the contour line of a room, such as a wall boundary line.

[0065] Preferably, relative to the full contour line in the first map image, the robot configures the grayscale values ​​of a small part of the pixels in the full contour line whose grayscale values ​​were originally 0 to 255, which is equivalent to re-marking some pixels marked as obstacle contour points in the first map image as passable positions, so that the obstacle contour line in the first map image is shorter than the obstacle contour line in the first map image, or the number of obstacle contour lines in the first map image is less than the number of obstacle contour lines in the first map image.

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

[0067] Then the robot removes the obtained obstacle contour map from the full contour map, and obtains the preset boundary map for use in step A2; in fact, it controls the full contour line to subtract the area occupied by the obstacle contour line, obtains the preset boundary line, obtains the various boundary points that constitute the preset boundary line and constitutes the preset boundary map, and determines to complete the first image morphological method. In the process of image pixel level implementation, the robot needs to use the image as a carrier, control the full contour map and the obstacle contour map to perform pixel-by-pixel AND operations, extract the contour line in the image obtained by the AND operation, and obtain the preset boundary line, so that the robot can remove the obstacle contour line from the full contour line.

[0068] In summary, the step A1 performs threshold graying, corrosion and expansion processing in sequence to complete denoising, and then traverses the full contour map and the obstacle contour map in the denoised map, and then removes the obstacle contour map from the full contour map to obtain the preset boundary map, completing the first image morphological method, separating a contour line (corresponding to the result of removing the obstacle contour line from the full contour line), and is regarded as passing the robot's passability verification; thereby, according to the image morphological method, a more continuous and smooth boundary line is extracted from the pre-constructed map, and the stability of the target boundary point set selection is preliminarily guaranteed.

[0069] In some embodiments, the process of performing pixel-by-pixel AND operations on the full contour map and the obstacle contour map is specifically as follows: each pixel value of the full contour map is controlled to perform an AND operation with the pixel value at the corresponding pixel position in the obstacle contour map, and the pixel value of the preset boundary line is obtained at the corresponding pixel position. Similarly, the AND operation of the map area to be explored processed by step D and the area expanded by the filling algorithm also supports the use of the method of subtracting the grayscale values ​​of the pixels. Preferably, the positional relationship of a pair of pixels subjected to the AND operation relative to the origin of the image coordinate system in the contour map to which they belong is the same. In some embodiments, only black lines remain in the image obtained after the two contour maps are ANDed, and at this time, the contour lines other than the obstacle contour lines, i.e., the preset boundary lines, have been separated from the full contour lines.

[0070] In some embodiments, a full contour line is extracted from a map and regarded as a line segment parallel to an obstacle contour line, or an obstacle contour line. A preset boundary point is a point on the boundary line of two different types of environmental areas, which can be regarded as a boundary line of one of two adjacent different types of environmental areas. Furthermore, the boundary line can be a common boundary line segment of two different types of environmental areas.

[0071] It should be noted that when the robot uses the corrosion, expansion, and filling algorithms disclosed in the aforementioned embodiments to solve the problem, it can construct a data structure that indicates 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 replaced by pixel points in the map image. Different problems need to be described with different data structures. Based on the conditions given by the search target point problem, starting from a pixel point, one or more new pixel points can be found. This process is usually called expansion.

[0072] As an embodiment, the 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; wherein, the expansion radius of the template image required for the expansion operation is equal to the body radius of the robot, which can be understood as the side length of the template image being equal to the body diameter of the robot; specifically, in 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 body diameter of the robot) is used to traverse the contour points in the preset boundary map and perform expansion processing until all the contour points in the preset boundary map are traversed, so that some contour points marked as obstacle points or unknown position points are configured as pixel points of passable positions, generating larger white points, making the boundary line of the passable area smoother, and thereby expanding the area occupied by the passable area.

[0073] Step A22, control the first map image and the second map image to perform 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 the image as a carrier, and the process of controlling the first map image and the second map image to perform 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 point 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.

[0074] Step A23, organize the pixel points in the second map image into a set of map points to be processed, so as to more accurately describe the boundary between the traversable area and the unknown area in the pre-constructed map, wherein the set of map points to be processed includes unknown position points; then execute step A24.

[0075] 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 so, execute step A25, otherwise execute step A26; the traversed nodes here include points that have been added to the target boundary point set.

[0076] Step A25, extracting the next point from the set of map points to be processed, and updating the next point to a currently extracted point described in step A24, and then executing 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, and then determining that the first and second image morphological methods are completed; wherein the robot is configured to extract each point in the set of map points to be processed in an orderly and non-repetitive manner.

[0077] Step A26, setting a point extracted in step A24 as the starting search point, that is, updating a currently extracted point as the starting search point, and then executing step A27.

[0078] Step A27, detect whether there is a node with a preset grayscale value in the neighborhood of the starting search point in the preset boundary graph, if yes, execute step A28, otherwise execute step A29; the preset grayscale value is preferably within the grayscale value range of 128 to 129.

[0079] Step A28, add the node of the preset gray value to the current target boundary point set, determine that the node of the preset gray value is a traversed node, then update the node of the preset gray value as the starting search point, and then execute step A27; thereby giving the robot traversal information to the unknown position point.

[0080] Step A29, determine that the starting search point is a point in the current target boundary point set, determine that the starting search point is a traversed node, and determine that the creation of the current target boundary point set is completed, and the memory storage space of the robot correspondingly opens up the storage space of the current target boundary point set and stores each traversed node. Then execute step A210. If it is determined that there is no node with a preset gray value in all neighborhoods of the starting search point when step A27 is executed for the first time, then determine that the starting search point is the only point in the current target boundary point set.

[0081] Step A210, open up storage space for the next target boundary point set, then 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 map point set to be processed, and repeat this process until all points in the map point set to be processed have been extracted, forming multiple target boundary point sets coexisting. The robot searches for multiple target boundary point sets through the first and second image morphological methods, and the points in two target boundary point sets do not overlap with each other, thereby reducing the node search repetition rate, speeding up the search of the candidate boundary point set in step B, and further speeding up the search for the missing mapping area by using the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set.

[0082] Preferably, step A2 further comprises: when each target boundary point set searched out in step A2 is empty, determining that there is no missing map area in the pre-built map, so that each pixel point in the preset boundary map is a node that has been traversed by the robot. Wherein, when each target boundary point set searched out in step A2 is empty, the to-be-processed map point set is empty, or each point in the to-be-processed map point set is the traversed node.

[0083] In summary, step A2 explores the pixel points of the map image that has been completed by the first image morphology method in an orderly and non-repetitive manner, divides at least one target boundary point set, and searches each missing mapping area more comprehensively and quickly or determines that there is no missing mapping area.

[0084] The robot disclosed in the present application can execute the search method disclosed in the aforementioned embodiment through a built-in chip. The chip is set on a circuit main board in the body of the robot. The chip includes a computing processor that communicates with a non-temporary memory, such as a hard disk, a flash memory, and a random access memory, such as a central processing unit and an application processor. The application processor executes the search method according to the obstacle occupied area, the passable area and the unknown area fed back by various sensors, such as simultaneous localization and mapping (SLAM), draws a real-time map of the robot's environment and marks the obstacle positions, unknown positions and passable positions, and can search for missing mapping areas in unknown areas.

[0085] Moreover, certain requirements are required for electronic components such as hard disk, CPU and memory to support the execution of the search method disclosed in the above embodiment, so the characteristics of each step included in the above search method have a limiting effect on the structure of the chip.

[0086] Obviously, the above embodiments are merely examples for the purpose of clear explanation, and are not intended to limit the implementation methods. For those skilled in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and impossible to list all the implementation methods here. The obvious changes or modifications derived therefrom are still within the scope of protection of the invention.

Claims

1. A search method based on robot-based missed map regions, characterized in that: The search method comprises: Step A: the robot searches for at least one target boundary point set from a pre-constructed map using a first image morphology method; Step B: based on the number of points, determine the candidate boundary point sets one by one for each target boundary point set; Step C: the robot extracts the map area to be explored from the pre-constructed map using the second image morphology method; Step D: The robot sets a region expansion starting point in the map area to be explored, and then uses a filling algorithm to process the map area to be explored from the region expansion starting point to obtain an area expanded by the filling algorithm; Step E: searching for missing mapping areas according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set.

2. The search method according to claim 1, characterized in that: In step E, according to the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, and the positional relationship between the neighborhood of the node expanded by the filling algorithm and the candidate boundary point set, the method for searching for the missing mapping area includes: Step E1, determining that there is no missing mapping area based on the positional relationship between the area expanded by the filling algorithm and the current position point of the robot, or selecting to execute step E2; Step E2: according to the positional relationship between the neighborhood of the node expanded 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.

3. The search method according to claim 2, characterized in that: The step E1 comprises: Step E11, determining whether the current position of the robot is within the area expanded by the filling algorithm, if yes, executing step E2, otherwise executing step E12; Step E12, determining whether the map area to be explored processed in step D is marked with any information, if yes, determining that the missing map area does not exist in the pre-built map, otherwise, executing step E13; Step E13, remove 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 update the valid map area to the map area to be explored, and then execute step D to obtain a new area expansion starting point.

4. The search method according to claim 2, characterized in that: The step E2 comprises: 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 to which the filling algorithm is extended, if yes, determining that the missing map area does not exist in the pre-constructed map; otherwise, executing 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 to which the filling algorithm is extended, the horizontal coordinates of the points in the same candidate boundary point set are accumulated to obtain a horizontal coordinate accumulation value, and then the ratio between the horizontal coordinate accumulation value and the number of points in the candidate boundary point set is set as the horizontal coordinate used to represent the midpoint of the same candidate boundary point set; at the same time, the vertical coordinates of the points in the same candidate boundary point set are accumulated to obtain a vertical coordinate accumulation value, and then the ratio between the vertical coordinate accumulation value and the number of points in the candidate boundary point set is set as the vertical coordinate used to represent the midpoint of the same candidate boundary point set; Step E23: setting the horizontal coordinate of the midpoint of the same candidate boundary point set and the vertical coordinate of the midpoint of the same candidate boundary point set as the coordinates of one of the missing mapping positions, and determining to obtain one missing mapping position from the same candidate boundary point set, wherein the missing mapping position exists in the missing mapping area.

5. The search method according to claim 1, characterized in that: The step D comprises: Mapping the map area to be explored into a distance metric space; wherein the distance metric space is a set of distances between each position point in the map area to be explored except the ranging starting point and the ranging starting point, with one of the obstacle points as the ranging starting point; Selecting a position point with the largest distance from the distance measurement starting point from the distance metric space as the area expansion starting point, and then using a filling algorithm to process the passable area in the map area to be explored starting from the area expansion starting point; Whenever the map area to be explored is updated, a new distance metric space is mapped and a new area expansion starting point is selected; The nodes expanded to by the robot using the filling algorithm include pixel points connected to the starting point of the area expansion.

6. The search method according to claim 1, characterized in that: The step C comprises: The robot extracts the traversable area and the obstacle area from the pre-constructed map, and then performs expansion processing on the currently extracted obstacle area to obtain a target expansion area expanded into the currently extracted traversable area; then the target expansion area is eliminated from the currently extracted traversable area to obtain the map area to be explored, and the second image morphological method is determined to be completed.

7. The search method according to claim 1, characterized in that: The step B comprises: 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 execute 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 pixel points in a pre-constructed map to represent the body diameter of the robot; When it is determined that each of the target boundary point sets searched out in step A is not the candidate boundary point set, it is determined that the missing map area does not exist in the pre-constructed map.

8. The search method according to claim 1, characterized in that: The step A comprises: 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 a traversable area and an unknown area in the pre-constructed map; Step A2: The robot uses the first image morphology method to search for at least one target boundary point set from a preset boundary map, and determines that the first image morphology method is completed.

9. The search method according to claim 8, characterized in that: The step A1 comprises: The robot grayscales the pre-constructed map according to a preset grayscale threshold to obtain a first map image; then controls the first map image to be corroded and then expanded to obtain a first second map image; then the robot extracts a full contour image from the first second map image; wherein the full contour image is a collection of contour lines in the pre-constructed map; The robot searches for pixel points in the neighborhood of each obstacle point in the first and second map images to obtain an obstacle contour map, wherein the obstacle contour map is a collection of obstacle contour lines; Then the robot removes the obtained obstacle contour map from the full contour map to obtain a preset boundary map, obtains each boundary point constituting the preset boundary line, and determines to complete the first image morphology method.

10. The search method according to claim 9, characterized in that: The step A2 comprises: Step A21, the robot controls the expansion of the preset boundary map to obtain a second first map image, and then executes step A22; Step A22, controlling the first-first map image to perform pixel-by-pixel AND with the second-first map image to obtain the second-second map image, and then executing step A23; Step A23, grouping the pixels in the second map image into a set of map points to be processed, and then executing step A24; Step A24, when extracting a pixel point from the set of map points to be processed, determine whether the currently extracted pixel point is a traversed node, if yes, execute step A25, otherwise execute step A26; Step A25, extracting the next pixel point from the set of map points to be processed, and updating the next pixel point to the currently extracted pixel point described in step A24, and then executing 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, and then determining that the first and second image morphological methods are completed; Step A26, setting a pixel point extracted in step A24 as a starting search point, and then executing step A27; Step A27, detecting whether there is a node with a preset gray value in the neighborhood of the starting search point in the preset boundary graph, if yes, executing step A28, otherwise executing step A29; Step A28, adding the node of the preset gray value to the current target boundary point set, and determining that the node of the preset gray value is a traversed node, and then updating the node of the preset gray value as the starting search point, and then executing step A27; Step A29, determining that the starting search point is a point in the current target boundary point set, determining that the starting search point is a traversed node, and determining that the creation of the current target boundary point set is completed, and then executing step A210; Step A210, open up storage space for the next target boundary point set, then update the next target boundary point set to the current target boundary point set, and then execute step A25.

11. The search method according to claim 8, characterized in that: The step A2 further comprises: When each target boundary point set searched out in step A2 is empty, it is determined that the missing map area does not exist in the pre-constructed map, so that each pixel point in the preset boundary map is a node that the robot has traversed.

Citation Information

Patent Citations

  • Incremental topological map construction method based on pruning Voronoi diagram

    CN115143980A

  • Target point searching method based on boundary line, chip and robot

    CN115167421A

  • Method and device for updating virtual wall, electronic equipment and storage medium

    CN115468556A

  • Supplementary mapping method and device, robot and storage medium

    CN115824191A

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

    JP2009069903A