Method for positioning based on dynamic areas of robots

By using multi-level threshold judgment and weighted calculation, combined with the mask relationship between the reference map and the target map, the robot relocalization method is optimized, which solves the problem of unstable localization in dynamic environments and achieves accurate localization in dynamically changing environments.

CN121252783BActive Publication Date: 2026-06-05AMICRO SEMICONDUCTOR CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
AMICRO SEMICONDUCTOR CO LTD
Filing Date
2024-06-25
Publication Date
2026-06-05

AI Technical Summary

Technical Problem

Existing robot localization methods in dynamic environments are prone to mismatches due to environmental changes, affecting localization stability and accuracy. In particular, when the distribution of obstacles changes in a home environment, existing methods fail to effectively handle dynamic areas, leading to relocalization failures.

Method used

After obtaining the results through the relocation matching algorithm, multi-level threshold judgment and weighted calculation are performed. Combining the mask relationship between the reference map and the target map, the search distance is set, the navigation target point is selected, the relocation process is optimized, and the impact of dynamic areas is reduced.

Benefits of technology

This improves the robot's robustness and accuracy in localization in dynamic environments, ensuring stable map relocalization and matching in dynamically changing home environments.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121252783B_ABST
    Figure CN121252783B_ABST
Patent Text Reader

Abstract

The application discloses a positioning method based on a dynamic area of a robot, comprising the following steps: 1, in the case that the repositioning result fails, determining whether the matching score in the repositioning result is greater than a first preset score threshold; if yes, step 2 is entered; 2, the matching scores of the point cloud points falling on the corresponding area of the target map are weighted and calculated to obtain a target matching score; then step 3 is entered; 3, determining whether the target matching score is greater than a second preset score threshold; if yes, the positioning succeeds; otherwise, step 4 is entered; 4, setting a search distance based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic area of the target map, selecting a navigation target point in a preset positioning distance range based on the search distance; then step 5 is executed; 5, when the robot moves to the navigation target point, a repositioning result is obtained through a repositioning matching algorithm, and the repositioning result is detected to determine whether the positioning succeeds.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the technical field of map relocation, specifically to a localization method based on a robot's dynamic region. Background Technology

[0002] Currently, robotic vacuum cleaners are used in home environments. During the working hours of a robotic vacuum cleaner, the home environment cannot be guaranteed to remain unchanged. The home environment will always undergo various changes due to the changing distribution and position of obstacles, forming a dynamic area. Therefore, when the home environment changes, point cloud matching will be affected by the dynamic changes in the environment. Some image segmentation algorithms (which employ a large number of image processing methods, such as image grayscale, binarization, threshold comparison, etc.) will reduce their universality and computational efficiency as the image scene changes significantly.

[0003] Considering the accuracy of relocation recognition, Chinese patent CN202111314321.5 discloses a method for post-verification of relocation results. This method determines whether relocation is successful, unsuccessful, or requires relocation verification by comparing the matching score in the relocation result after relocation calculation with a second threshold and a first threshold. However, this method does not perform subsequent verification when directly judging relocation failure or success based on the matching result, which can easily lead to mismatches in environments where objects frequently change. Moreover, the map matching verification of this method does not perform targeted relocation based on the type of dynamic area, which will ultimately affect the robot's positioning stability in dynamic areas. Summary of the Invention

[0004] This application discloses a localization method based on a robot's dynamic region, the specific technical solution of which includes:

[0005] A robot localization method based on dynamic regions includes: obtaining a relocation result through a relocation matching algorithm, and then verifying the relocation result; the method further includes: Step 1, if the verification of the relocation result fails, the robot determines whether the matching score in the relocation result is greater than a first preset score threshold; if yes, proceed to Step 2; otherwise, the robot localization is determined to have failed; Step 2, the robot marks the point cloud matched by the relocation matching algorithm on the target map as the target matching point cloud; then, in the target matching point cloud, a weighted calculation is performed based on the matching scores corresponding to the point cloud points falling into the corresponding area of ​​the target map to obtain the target matching score; then proceed to Step 3; Step 3, the robot determines whether the target matching score is greater than a second preset score threshold; if yes, the robot localization is determined to have succeeded; otherwise, proceed to Step 4; where... The second preset score threshold is greater than the first preset score threshold; Step 4: Mark the point cloud points corresponding to the target matching score as matching points, and mark the working map constructed by the robot when performing point cloud matching using the relocation matching algorithm as a reference map; Set the search distance based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic area of ​​the target map, starting from the matching point, select the navigation target point within the preset positioning distance range based on the search distance, and control the robot to move from the current position point to the navigation target point; then execute Step 5; Step 5: When the robot moves to the navigation target point, obtain the relocation result through the relocation matching algorithm and verify the currently obtained relocation result. If the verification of the relocation result fails, it is determined that the robot positioning has failed; if the verification of the relocation result is successful, it is determined that the robot positioning has succeeded.

[0006] In summary, this application improves the robustness of localization detection to environmental changes by selecting navigation target points in a map with dynamic regions and moving to the navigation target points to verify the relocalization results through steps 1 to 5. Specifically, for localization in a map with dynamic regions, if the initial verification fails, this application first compares the result with a score threshold, then performs a weighted calculation based on the point cloud in the dynamic or non-dynamic regions, and then compares it with a higher score threshold, continuously eliminating interference from the matching score alone. Then, based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map, a search distance is set, which can segment the local map region and the outline of its marked obstacles for distance value analysis. Based on this, a position point matching the search distance is selected as the navigation target point, so that the robot identifies fewer depth dynamic regions at the navigation target point but does not deviate too far from the original position. When the robot moves to the navigation target point, a final relocalization result verification is performed to determine whether the robot has successfully localized.

[0007] Compared with existing technologies, this application does not remove dynamic pixels in the map, establishes a reliable dynamic map (e.g., target map and reference map), and extracts a mask. By setting the mask to correspond to the map with dynamic areas and performing subtraction comparisons between different maps, a distance image with the search distance is obtained. The navigation target point is set by directly extracting the search distance and a positioning verification is performed based on it. This enables the segmentation of positioning points within the map area corresponding to the mask, which are within a reasonable distance range from obstacles and dynamic areas. As a result, the adaptability of the positioning result determined by the positioning method to the dynamically changing environment is improved in different local map areas. Therefore, the goal of achieving accurate and stable map relocation matching in a dynamically changing environment is achieved. Attached Figure Description

[0008] Figure 1 This is a flowchart illustrating a localization method based on a robot's dynamic region, as disclosed in one embodiment of this application.

[0009] Figure 2 This is a flowchart illustrating a method for setting navigation target points, as disclosed in another embodiment of this application.

[0010] Figure 3 This is a flowchart illustrating a method for constructing a target map, as disclosed in another embodiment of this application. Detailed Implementation

[0011] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings.

[0012] According to the relocalization process disclosed in Chinese patent CN202111314321.5, the robot uses a point cloud map scanned in real time by a LiDAR to traverse a pre-stored global LiDAR grid map. This traversal is a map matching process. Each match yields a matching result containing three parameters: a matching score, a matching area, and a matching area ratio. The matching score is the percentage of an obstacle that a point on the point cloud map (also denoted as a point cloud point) overlaps with at its corresponding matching position on the global LiDAR grid map. For example, if a point on the point cloud map completely overlaps with an obstacle at its corresponding matching position, the matching score is 1; if there is a 60% overlap, the matching score is 0.6. After the traversal, the matching results of the point cloud map at different positions on the global LiDAR grid map are obtained, and the matching result corresponding to the position with the highest matching score is selected as the relocalization result. The method then updates the map used for relocation calculation based on the relocation results. The robot then walks for a set time or distance, acquiring point cloud data of the environment during this process. The robot then matches this point cloud data with the updated map, and determines whether the relocation was successful or failed based on the matching result (primarily determined by comparing the matching score with a score threshold). This method does not perform image region filtering or matching point analysis at the map image level. The relocation success or failure result determined by this method is prone to mismatches in environments with frequently changing objects. If the relocation is judged as failed, it may... The presence of numerous unknown points that do not match the data points on the global laser grid map means that the robot may have matched outside the map. If it is outside the map, it means that the robot's position is misjudged, all cleaning functions will become disordered, and relocation will fail directly. At this time, there may be mismatches because the point cloud matching will be affected by the dynamic changes in the working environment. For example, the point cloud matching process may have splicing errors. Moreover, the robot uses a path planning algorithm that uses a fast expanding random tree to walk or go to the center of the point cloud, which may result in the robot randomly walking a straight line or walking randomly, which will ultimately affect the positioning accuracy of the mobile robot.

[0013] To address the aforementioned technical deficiencies, this application discloses a localization method based on a robot's dynamic region, which identifies the dynamic region and uses the identified dynamic region to optimize the relocalization algorithm. For example... Figure 1As shown, the positioning method includes: obtaining a repositioning result through a repositioning matching algorithm, then verifying the repositioning result, and then executing step 1. During the verification process, the robot walks for a set time or a set distance and acquires a point cloud of the environment during this process. The acquired point cloud is used for matching with a global grid map pre-built by the robot. The specific method for verifying the repositioning result disclosed in this application references a method for post-verification of the repositioning result disclosed in Chinese Patent CN202111314321.5. Specifically, it identifies the successful repositioning result as a successful verification of the repositioning result, and identifies the failed repositioning result as a failed verification of the repositioning result.

[0014] Each time the relocation matching algorithm is completed, the result is the robot's current location on the map, which can also be described as a point cloud point matching to the robot's current position. After determining the robot's location on the map, the robot's coordinates are set. Then, based on the robot's coordinates, the point cloud data obtained during the robot's relocation matching calculation is loaded into the global grid map used for relocation, the global grid map is updated, and the robot moves on this global grid map. It should be noted that the relocation matching algorithm disclosed in this application can be the relocation calculation in Chinese Patent CN202111314321.5 or any other relocation matching algorithm related to point cloud matching disclosed in the prior art. Even if the corresponding relocation matching algorithm is not robust to dynamic environments, it can be optimized by implementing the positioning method disclosed in this application.

[0015] The robot can be a sweeping robot, a mopping robot, a disinfection robot, a service robot, or other autonomous mobile robots. An accurate map is a prerequisite for the robot to work normally. However, the home environment cannot be guaranteed to remain unchanged during the working time of the sweeping robot. There will always be various changes. For example, when the obstacle areas distributed in the map change, it is easy to cause mismatch of point clouds, which will cause the relocation result verification to fail.

[0016] The positioning method disclosed in this application also includes:

[0017] Step 1: If the relocation result fails, the robot determines whether the matching score in the relocation result is greater than a first preset score threshold. If yes, proceed to Step 2; otherwise, the robot's localization fails, and the localization method ends. The matching score in the relocation result is the percentage of points (also denoted as point cloud points) on the pre-scanned point cloud map that overlap with pre-marked obstacle positions when they fall at corresponding matching positions on the pre-constructed global grid map. The first preset score threshold is preferably 0.65, allowing the robot to continue filtering and judging relocation results with matching scores higher than 0.65, thereby improving the recognition accuracy of the localization effect.

[0018] Step 2: The robot marks the point cloud matched by the relocalization matching algorithm on the target map as the target matching point cloud; then, in the target matching point cloud, a weighted calculation is performed based on the matching scores of the point cloud points falling into the corresponding areas of the target map to obtain the target matching score; then proceed to Step 3. Wherein, if the target map can reflect the point clouds and their matching status in the dynamic and non-dynamic areas around the robot, the target map is classified as a dynamic map; if the target map is obtained from a reference map through image processing, the reference map is classified as a dynamic map.

[0019] The target matching point cloud includes point cloud points on non-dynamic regions of the target map, point cloud points falling into reference dynamic regions of the target map, and / or point cloud points falling into depth dynamic regions of the target map. The probability of a point cloud point falling into the depth dynamic region is higher than the probability of a point cloud point falling into the reference dynamic region. The weighted calculation performed in step 2 involves weighting the matching scores corresponding to point cloud points in a single type of region after identifying the region type of the point cloud points, thereby obtaining the target matching score in a targeted manner.

[0020] Step 3: The robot determines whether the target matching score is greater than the second preset score threshold. If yes, the robot's localization is successful; otherwise, proceed to Step 4. The second preset score threshold is greater than the first preset score threshold. The higher the set score threshold, the easier it is to determine successful localization. Both the second and first preset score thresholds were determined through extensive dataset testing and can be set and modified according to actual conditions.

[0021] Therefore, in steps 2 and 3, based on checking the point cloud matching within the target map, a weighted calculation is performed on the matching point cloud according to the type of the region it belongs to, so as to determine whether the robot has successfully located itself by comparing the matching score threshold.

[0022] Step 4: Mark the point cloud points corresponding to the target matching score as matching points. At this point, the localization has not yet been determined to be successful, so temporarily mark the point cloud points corresponding to the calculated target matching score as matching points. Point cloud points with target matching scores less than or equal to the second preset score threshold are marked as matching points. Mark the working map constructed by the robot when performing point cloud matching using the relocalization matching algorithm as the reference map. It is worth noting that the map used for matching required to execute the relocalization matching algorithm is different from this reference map. This reference map is a map constructed by the robot through global traversal of the same working area at least once. Specifically, the working map is constructed in real time during the robot's work tasks in the working area. At the same time, the robot uses the target map for point cloud matching. Therefore, when point cloud matching is successful, the working map can be marked as the reference map. Of course, when point cloud matching fails, the working map can also be marked as the reference map. Thus, the reference map can be updated, and the point cloud data obtained by the robot during the execution of the relocalization matching algorithm can be loaded into the reference map, thereby updating the target map, so that the target map and the reference map correspond to each other and are both adapted to the changing environment in which the robot is located.

[0023] For point cloud matching, we can use three parameters—matching score, matching area, and matching area ratio—as thresholds for comparison. For example, if the match score is greater than or equal to the threshold for the corresponding type, the matching and localization is considered successful.

[0024] In step 4, a search distance is set based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map. This relationship includes the relationship between overlay and being overlaid. Specifically, the target mask is extracted from the reference map, and a location candidate region (including the distance information between the point cloud (including matching points) on the target map and the dynamic region and obstacles) is cropped from the distance image corresponding to the target map and the distance image corresponding to the reference map based on the target mask. The reference mask is extracted from the depth dynamic region of the target map. Then, based on the weighted calculation result of the distance value of the location candidate region corresponding to the reference mask and the distance value associated with the obstacle point in the distance image corresponding to the reference map (representing the distance information between the point cloud on the reference map and the obstacle), the search distance is set. The search distance covers the distance information between the point cloud on the target map and the dynamic region and the distance information between the point cloud on the reference map and the obstacle. Preferably, the scale and coordinates of the distance image mapped by the search distance, the distance image mapped by the target map, and the distance image mapped by the reference map are the same, and the coordinates in the distance image corresponding to the search distance can be directly used on the reference map.

[0025] In step 4, starting from the aforementioned matching point, a navigation target point is selected within a preset positioning distance range based on the search distance. The robot is then controlled to move from its current position to the navigation target point, and then step 5 is executed. Specifically, within the coordinate range covered by the distance image mapped by the search distance, the coordinate point with the largest search distance can be selected as the navigation target point within the preset positioning distance range. This allows the robot to enter a local area (which may be part of the working area) where the proportion or number of depth dynamic regions in the target map is reduced after moving from its current position to the navigation target point, thereby searching for the navigation target point at a location far from the depth dynamic region.

[0026] It should be noted that the deep dynamic region means that the robot's environment is prone to change. If the localization algorithm is executed in the deep dynamic region, a large number of points will not be matched on the map. Therefore, being far away from the deep dynamic region means that it is easier to achieve a successful localization. Therefore, when the target matching score is less than or equal to the second preset score threshold, after setting the search distance in step 4, starting from the matching point, the navigation target point is selected within the preset localization distance range based on the search distance. This enables the robot to find a location on the map that is close to the matching point and has a smaller dynamic region.

[0027] Step 5: When the robot moves to the navigation target point, a relocation result is obtained through the relocation matching algorithm. This involves calculating a new relocation result at the navigation target point and verifying the currently obtained relocation result. This verification can refer to a method for post-verification of relocation results disclosed in Chinese Patent CN202111314321.5, which will not be elaborated here. If the verification of the relocation result fails, the robot's localization is determined to have failed (i.e., the robot's relocation has failed). In this case, the obstacle distribution characteristics in the target map do not match the obstacle distribution characteristics in the actual environment, and the reference map does not match the map constructed from the actual environment. If the verification of the relocation result succeeds, the robot's localization is determined to have succeeded (i.e., the robot's relocation has succeeded). In this case, the obstacle distribution characteristics in the target map match the obstacle distribution characteristics in the actual environment, and the reference map matches the map constructed from the actual environment.

[0028] In summary, this application improves the robustness of localization detection to environmental changes by selecting navigation target points in a map with dynamic regions and moving to the navigation target points to verify the relocalization results through steps 1 to 5. Specifically, for localization in a map with dynamic regions, if the initial verification fails, this application first compares the result with a score threshold, then performs a weighted calculation based on the point cloud in the dynamic or non-dynamic regions, and then compares it with a higher score threshold, continuously eliminating interference from the matching score alone. Then, based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map, a search distance is set, which can segment the local map region and the outline of its marked obstacles for distance value analysis. Based on this, a position point matching the search distance is selected as the navigation target point, so that the robot identifies fewer depth dynamic regions at the navigation target point but does not deviate too far from the original position. When the robot moves to the navigation target point, a final relocalization result verification is performed to determine whether the robot has successfully localized.

[0029] Compared with existing technologies, this application does not remove dynamic pixels in the map, establishes a reliable dynamic map (e.g., target map and reference map), and extracts a mask. By setting the mask to correspond to the map with dynamic areas and performing subtraction comparisons between different maps, a distance image with the search distance is obtained. The navigation target point is set by directly extracting the search distance and a positioning verification is performed based on it. This enables the segmentation of positioning points within the map area corresponding to the mask, which are within a reasonable distance range from obstacles and dynamic areas. As a result, the adaptability of the positioning result determined by the positioning method to the dynamically changing environment is improved in different local map areas. Therefore, the goal of achieving accurate and stable map relocation matching in a dynamically changing environment is achieved.

[0030] In step 2, the area where the target matching point cloud is distributed is a non-dynamic region of the target map, a reference dynamic region of the target map, or a deep dynamic region of the target map; wherein, both the reference dynamic region and the deep dynamic region belong to dynamic regions; if the target map is derived from the reference map, it can also be understood that there are non-dynamic regions, reference dynamic regions, or deep dynamic regions in the reference map; wherein, distinguishing between non-dynamic regions, reference dynamic regions, or deep dynamic regions can be done in the case of detecting point cloud matching, that is, identifying the type of region during the execution of the relocation matching algorithm.

[0031] The non-dynamic region represents an area where the robot's environment remains unchanged. Correspondingly, obstacles in the target map do not shift or change in size, meaning that relatively fixed obstacles are distributed around the robot. The matching score of the point cloud points that fall into the non-dynamic region of the target map and match the location is the first matching score. The non-dynamic region is the area where the robot prioritizes navigation. The first matching score can be set to be higher than or equal to 1, preferably 1.2, indicating that the matching parts in the target map are generally stable walls or relatively fixed obstacles, and the mapping of these areas has only some minor differences. The relocalization success rate is high in the non-dynamic region.

[0032] The reference dynamic region represents an area where the robot's environment changes. The matching score of a point cloud point at a matching position within the reference dynamic region of the target map is the second matching score. The depth dynamic region represents an area where the robot's environment changes more frequently than the reference dynamic region, making the probability of a point cloud point falling into the depth dynamic region higher than that of falling into the reference dynamic region. The matching score of a point cloud point at a matching position within the depth dynamic region of the target map is the third matching score. The second matching score is greater than the third matching score, meaning the point cloud's matching success rate within the reference dynamic region is higher than its matching success rate within the depth dynamic region. For non-dynamic regions and different dynamic regions, the third matching score is equal to the second preset score threshold, and the second matching score is less than the first matching score. The first, second, and third matching scores are all empirical values ​​determined through extensive point cloud matching tests and can be set and modified according to actual environmental changes. Preferably, if the second matching score is 0.9, then the third matching score is 0.7.

[0033] To recalculate the matching score, the method for weighting the matching scores of point cloud points in the target matching point cloud that fall onto the target map includes:

[0034] First, identify the regions where the target matching point cloud is distributed in the target map, including distinguishing between non-dynamic and dynamic regions in the target map, and distinguishing between reference dynamic regions and deep dynamic regions from the dynamic regions.

[0035] Specifically, if it is determined that the environmental information marked at the same coordinate position changes within a period of time, then that coordinate position is a dynamic position point. Multiple adjacent or closely spaced dynamic position points (e.g., the distance between 1 to 3 grid points / coordinate position points) constitute the dynamic region. The marked environmental information includes whether an obstacle occupies a position and whether the same obstacle has shifted. If it is determined that the environmental information marked at the same coordinate position does not change within a period of time, then that coordinate position is a non-dynamic position point. Multiple adjacent or closely spaced (e.g., the distance between 1 to 3 grid points / coordinate position points) non-dynamic position points constitute the non-dynamic region.

[0036] Based on the identified region, the matching score corresponding to the point cloud points in the target matching point cloud that fall on the target map is determined, and a corresponding weight is assigned to the currently determined matching score. In step 2, the weights assigned to point cloud points in the non-dynamic region and the reference dynamic region (the weights assigned to the first matching score and the second matching score) are higher than the weights assigned to point cloud points in the deep dynamic region (the weights assigned to the third matching score), and the weights assigned to point cloud points in the reference dynamic region are higher than the weights assigned to point cloud points in the non-dynamic region. The weights assigned to point cloud points in the non-dynamic region, the reference dynamic region, and the deep dynamic region are all empirical values, determined through a large number of point cloud matching tests, and can be set and modified according to actual environmental changes.

[0037] Then, using the assigned weights, the matching scores of the point cloud points in the target matching point cloud that fall on the target map are weighted and calculated to obtain the target matching score. Specifically, for the previously identified non-dynamic regions, reference dynamic regions, or deep dynamic regions, weighted calculations are performed separately. That is, the matching score of the point cloud points in the target matching point cloud that fall on one type of region is multiplied by the assigned weight, and the product is the target matching score of the point cloud points that are successfully matched in one type of region. Thus, a single weighted calculation of the matching score is performed based on whether the matched point cloud is in a dynamic or non-dynamic region, thereby recalculating the matching score of the target matching point cloud in the same type of region.

[0038] In some embodiments, the method for further distinguishing between reference dynamic regions and non-dynamic regions after identifying dynamic regions includes: within a preset test time, whenever the matching score of a point cloud point matched by the relocation matching algorithm on the dynamic region of the target map changes, the matching score of the matched point cloud point is accumulated once. This is equivalent to accumulating the matching scores of each point cloud point in the target matching point cloud point by point within the preset test time. After the preset test time, the accumulated result is obtained; if the accumulated result is greater than a preset total score threshold, the dynamic region is determined to be a deep dynamic region; if the accumulated result is less than or equal to the preset score threshold, the dynamic region is determined to be a reference dynamic region. Thus, after the point cloud matched by the relocation matching algorithm on the dynamic region of the target map accumulates over the preset test time, the reference dynamic region and non-dynamic region are distinguished from the dynamic region based on the accumulated matching score.

[0039] To improve the robustness over time, the preset test time is preferably 10 days, and correspondingly, the preset total score threshold is preferably 5.

[0040] As one example, such as Figure 2 As shown, in step 4, the method of setting a search distance based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map, and selecting the navigation target point within a preset positioning distance range based on this search distance, starting from the matching point, includes:

[0041] Step 41: Extract the target mask based on the contour of the reference map; then proceed to step 42. Preferably, the method for extracting the target mask based on the contour of the reference map includes: searching for the largest map contour within the reference map; extracting the boundary of the reference map as the largest map contour using edge detection methods; filling the largest map contour to make it more continuous and smooth; and then setting the image area enclosed by the filled largest map contour as the target mask, also known as the target mask image.

[0042] Step 42: Map the target distance image based on the dynamic regions in the target map; then proceed to step 43. Here, the point cloud points on the target map correspond to the distance values ​​in the target distance image. This can be understood as mapping the point cloud points on the target map to the distance values ​​in the target distance image, so that the distance values ​​in the target distance image are used to measure the distance information between the point cloud points on the target map and the dynamic regions in the target map. Therefore, the target distance image can be considered as a set of distance values ​​between each point cloud point on the target map and the dynamic regions in the target map. The dynamic regions in the target map have been identified before the weighted calculation in step 2. To ensure that the subsequently selected navigation target point is as far away as possible from the depth dynamic regions, the distance values ​​in the target distance image are preferably the minimum distance values ​​between the point cloud points on the target map and the edges of the dynamic regions.

[0043] Step 43: Map an obstacle distance image based on the obstacles marked in the reference map, and mark the distance values ​​in the obstacle distance image as the first distance value; then proceed to step 44. Here, the point cloud points on the reference map correspond to the distance values ​​in the obstacle distance image, making the obstacle distance image used to measure the distance information between the point cloud points on the reference map and the obstacles marked in the reference map. Therefore, the obstacle distance image can be considered as a set of distance values ​​between each point cloud point on the reference map and the obstacles marked in the reference map, representing the distance information between the point cloud points on the reference map and the obstacles marked in the reference map. For example, while ensuring obstacle avoidance effectiveness, the distance values ​​in the obstacle distance image are preferably the minimum distance values ​​from the outline of the obstacles.

[0044] Step 44: Use a target mask to crop the target distance image and obstacle distance image to obtain a location candidate region. The obtained point cloud points and their corresponding distance values ​​are all considered to be within the location candidate region. If there is an overlap between the target distance image and the obstacle distance image, the target mask can also be used to crop out the location candidate region to represent the same distance information in the target distance image and the obstacle distance image, that is, the distance information between the same point cloud point and obstacles in the dynamic region or at the edge of the dynamic region.

[0045] Step 44 uses a target mask to crop out the localization candidate region from the target distance image and the obstacle distance image, which is equivalent to extracting the localization candidate region and obtaining its distance value and corresponding point cloud points in the target distance image and the obstacle distance image. In some embodiments, regions outside the localization candidate region in the target distance image and the obstacle distance image can be deleted, thereby improving computational efficiency and reducing the amount of data that needs to be processed, which can avoid affecting subsequent work.

[0046] In step 44, a reference mask is extracted from the depth dynamic region of the target map. Specifically, the method for extracting the reference mask from the depth dynamic region of the target map includes: selecting a location point as the center within the already identified depth dynamic region of the target map, setting the sampling distance as the radius to form a circular region, ensuring that the circular region is located within the depth dynamic region; then setting this circular region as the reference mask to segment a circular mask within the depth dynamic region of the target map. Preferably, the sampling distance is 1.5m. The current position of the robot is used as the center point, and the sampling distance (which can be the robot's walking distance) is used as the radius to form a circular region.

[0047] Then, the distance values ​​corresponding to the location candidate regions within the reference mask are weighted and calculated to obtain a second distance value. This is equivalent to weighting each distance value corresponding to the reference mask within the target map for the location candidate regions, thereby converting each distance value into its corresponding second distance value. Specifically, the method of weighting the distance values ​​corresponding to the location candidate regions within the reference mask includes: weighting each distance value corresponding to the location candidate regions within the reference mask according to pre-stored weights to obtain the second distance value of each point cloud point in the reference mask corresponding to the location candidate regions; the pre-stored weights are set corresponding to the distances of point cloud points on the depth dynamic region relative to the edges of the dynamic region (including the depth dynamic region and the reference dynamic region) and the distances of point cloud points relative to the obstacle contours. Preferably, the pre-stored weight is 0.5. The weighted distance values ​​are all reduced, which reduces the search distance in subsequent calculations. This prevents the selected navigation target point from being set in a local area with a high proportion of the coverage of the depth dynamic region or a large number of depth dynamic regions, so that the robot moves away from the depth dynamic region when it moves from the current position to the navigation target point.

[0048] It should be noted that each distance value covered by the positioning candidate region within the reference mask is: the distance value of each point cloud point in the point cloud on the reference mask corresponding to the positioning candidate region; each distance value covered by the positioning candidate region within the reference mask includes: the minimum distance value between the point cloud point and the edge of the dynamic region within the reference mask, or the minimum distance value between the point cloud point and the outline of the obstacle within the reference mask.

[0049] In step 4, whether the candidate region for localization is cropped from the target distance image and obstacle distance image using a target mask, or the candidate region for localization is the area covered by the reference mask that needs to be weighted for calculation, after the mask is created, the mask for cropping the image (corresponding to the aforementioned target mask) and the mask that is covered (corresponding to the aforementioned reference mask) are mapped to the active region of the map area or distance image. Pixels within the active region are assigned values ​​so that the active region, after being assigned values, is identical to the mask, facilitating the processing of distance values ​​corresponding to each point cloud point on the mask. The shape of the target mask is determined by the maximum outline of the reference map, which is the area to be localized outlined by a rectangle, circle, ellipse, irregular polygon, etc.

[0050] Step 45: Set the sum of the first distance value and the second distance value as the search distance; then execute step 46. Specifically, for each point cloud point at the location covered by the reference mask within the positioning candidate area, set the sum of the corresponding mapped first distance value and the corresponding mapped second distance value as the search distance, and map a search distance image based on the search distance, so that the obstacle distance image and the reference mask are merged into the search distance image; wherein, the search distance image can be regarded as a set of the sums of the distance values ​​corresponding to each point cloud point at the location covered by the reference mask within the positioning candidate area and the distance values ​​of the corresponding point cloud points in the obstacle distance image, to represent the distance information required for searching navigation target points.

[0051] It should be noted that the candidate location region, the obstacle distance image, and the search distance image all use the same coordinate scale. The search distance is calculated by combining the sum of the distances between the point cloud and obstacles in the environment, and the distances between the point cloud and the dynamic region, and is then applied to the reference map and the target map for localization.

[0052] Step 46: Starting from the matching point, select the point cloud point with the largest search distance within the preset positioning distance range as the navigation target point, wherein the maximum distance value included in the preset positioning distance range is greater than the sampling distance; schematically, within a range of 3 meters away from the matching point, select the point cloud point with the largest search distance or its projection point on the map plane as the navigation target point.

[0053] In summary, by executing steps 44 to 46, the navigation target point can be avoided from being set near the depth dynamic region, thus solving the problem of the point cloud in the depth dynamic region being not robust to environmental changes.

[0054] As one embodiment, the method for constructing the target map in step 2 includes: extracting obstacle regions based on the baseline map and working map constructed by the robot in performing tasks sequentially within a preset working area, and marking and expanding dynamic regions to generate the target map. Specifically, the baseline map and working map constructed by the robot in performing tasks sequentially within the preset working area refer to the robot first constructing the baseline map by performing a task once within the preset working area, and then constructing the working map by performing a new task within the preset working area. Therefore, this embodiment extracts obstacle regions based on the maps constructed by at least two tasks to generate an obstacle map, then marks dynamic regions within the obstacle map and performs region expansion to obtain the target map, which is used to calculate the matching scores of point clouds in dynamic and non-dynamic regions, and performs steps 21 to 25 based on the matching scores of the point clouds for the target map and the reference map, thereby providing a map with identifiable dynamic regions and the matching scores and point cloud matching status for planning navigation target points and determining whether the robot's positioning is successful. Therefore, when performing relocation matching calculations (e.g., point cloud matching) on ​​the target map, it is less likely to cause mismatches in environments where objects frequently change, and the map's universality will be enhanced as the image scene changes.

[0055] Based on the foregoing embodiments, such as Figure 3 As shown, the method for extracting obstacle regions and performing dynamic region marking and region dilation processing includes:

[0056] Step 21: Extract obstacle regions from the base map and mark the extracted obstacle regions as the first obstacle map region; extract obstacle regions from the working map and mark the extracted obstacle regions as the second obstacle map region; then execute step 22; wherein, the obstacle region is composed of the location points marked with obstacles, which can be understood as the area occupied by obstacles in the map. In a dynamically changing environment, the area occupied by obstacles in the map can change over a period of time, forming a dynamic region. For example, the tables and chairs in a home environment are moved, the pet activity area changes, etc., which can all be marked as obstacle map regions. In this application, the first obstacle map region and the second obstacle map region are divided due to the difference in map type or map construction time.

[0057] Specifically, the reference map is a map constructed by the robot when it first performs a work task within a preset work area. In some embodiments, the robot can quickly build a map within the preset work area by scanning the point cloud of the surrounding environment using sensors (either by scanning the entire preset work area at once) or by gradually advancing the global cleaning work within the preset work area according to a certain unit area (e.g., an area of ​​4 grids * 4 grids). When the robot completes the work task, it saves the reference map and records the corresponding timestamp of the reference map's generation.

[0058] After the robot completes its first task, it can re-execute tasks as needed, with each task performed within a preset work area. During each task execution, a global map is constructed within the preset work area. After each task completion, the robot traverses the preset work area along a pre-planned path and marks its real-time location on the map.

[0059] Starting from the second execution of a task within a preset work area, the robot constructs a map within the preset work area each time a task is executed. After each task is completed, the constructed map is saved as the working map, and the corresponding generation timestamp is recorded. The working map constructed during the nth (n is an integer greater than 1) execution of a task can be compared with the working map / base map constructed during an earlier task execution, so that the subsequently constructed working map is used to update the earlier constructed working map. In particular, to avoid the environmental scene changing too frequently on the same day, it is necessary to add a date filter to the generation timestamp of the working map. If it is determined that the generation timestamp of the base map and the previously saved working map are within the same date, the currently saved working map is discarded if the generation timestamp of the currently saved working map is found to be within the same date as the generation timestamp of the previously saved working map. Otherwise, step 21 can be executed to extract obstacle areas from the base map and the currently saved working map.

[0060] Step 22: Extract the overlapping area from the first obstacle map area and the second obstacle map area, then subtract the overlapping area from the second obstacle map area, and mark the resulting map area as the reference obstacle map; then execute step 23; specifically, extracting the overlapping area from the first obstacle map area and the second obstacle map area is equivalent to performing an AND operation on the first obstacle map area and the second obstacle map area to obtain the AND result between the first obstacle map area and the second obstacle map area, and this AND result is the overlapping area. Then subtracting the overlapping area from the second obstacle map area can be understood as subtracting the pixel value of each pixel in the overlapping area from the corresponding pixel value in the second obstacle map area, and the resulting map area is the reference obstacle map. The second obstacle map area can represent obstacle information in the working map that was saved later than the reference map, and includes obstacle information that has undergone dynamic changes compared to the reference map; therefore, the map area in the second obstacle map area that excludes the influence of obstacle factors in the reference map is beneficial for identifying dynamic areas.

[0061] Step 23: Identify the dynamic and non-dynamic areas in the reference obstacle map; then proceed to step 24.

[0062] Specifically, in step 23, the method for identifying dynamic and non-dynamic areas in the reference obstacle map includes: identifying dynamic location points and location points other than dynamic location points in the reference obstacle map.

[0063] In the reference obstacle map, the pixel value of the dynamic location point is set as the first pixel value; then, the dynamic location points are grouped into a dynamic region. This can be understood as recording the set of multiple dynamic location points or the area they occupy as the dynamic region. Further, the method for dividing the dynamic region into a reference dynamic region and a depth dynamic region refers to the aforementioned related embodiment. Preferably, according to the concept of image binarization, the first pixel value can be recorded as logic 1, so that logic 1 can be used to identify the changing area in the reference obstacle map.

[0064] In the reference obstacle map, the pixel values ​​of all locations except the dynamic locations are set as the second pixel value; then, the locations except the dynamic locations are grouped into a non-dynamic region. This can be understood as the region in the reference obstacle map other than the dynamic region being recorded as the non-dynamic region. Preferably, according to the concept of image binarization, the second pixel value can be recorded as logic 0, so that logic 0 can be used to identify the region in the reference obstacle map that does not change.

[0065] In step 23, the first pixel value and the second pixel value are not equal; when the first pixel value is 255 to represent a white pixel, the second pixel value is 0 to represent a black pixel, thereby performing binarization processing on the reference obstacle map.

[0066] It should be noted that the dynamic location point is used to represent a location point whose coordinate information remains unchanged but whose marked environmental information changes. The marked environmental information includes whether an obstacle occupies a position and whether the same obstacle has shifted. This can be determined by comparing the corresponding positions on the base map in step 21 and the working map in step 21 to see if the same obstacle has shifted and whether the area it occupies has changed. The marked environmental information can also be obtained by comparing the obstacle occupancy information at the same location on the working map constructed during each execution of the task.

[0067] Specifically, when the environmental information marked at the same coordinate location point in a subsequently constructed working map is different from the environmental information marked at the same coordinate location point in a previously constructed working map, the same coordinate location point is determined to be a dynamic location point; or when the environmental information marked at the same coordinate location point in a subsequently constructed working map is different from the environmental information marked at the same coordinate location point in the reference map, the same coordinate location point is determined to be a dynamic location point.

[0068] Step 24: Expand the dynamic region in the reference obstacle map according to the template of the preset size; then proceed to step 25; schematically, the template of the preset size selects a grid area of ​​3 grids by 3 grids to traverse the identified dynamic region in the reference obstacle map. Each time it is traversed, an expansion operation is performed on the currently covered area in the reference obstacle map according to the template of the preset size until the dynamic region in the reference obstacle map is completely traversed, thereby realizing noise reduction processing of the dynamic region of the reference obstacle map and improving the positioning and recognition accuracy of the dynamic region.

[0069] Step 25: Mark the reference obstacle map containing the expanded dynamic region as the target map; or first construct a global map, then save all reference obstacle maps containing the expanded dynamic region into the global map, and then mark the global map with the saved reference obstacle maps as the target map; preferably, the global map can be a grid map / base map / working map constructed by the robot performing a work task in a preset working area; since the expanded dynamic region requires more redundant area to accommodate it, the reference obstacle map containing the expanded dynamic region needs to be loaded into a larger map, therefore, the aforementioned global map is constructed additionally, and the global map with the saved reference obstacle maps is marked as the target map. Based on this, the target map is a map configured for executing the relocation matching algorithm.

[0070] Based on the above embodiments, at least after the baseline map has been constructed, before the robot performs step 21 within the preset work area, starting from the second execution of the work task and map construction, the following steps are also included:

[0071] Step 201: Determine if the generation timestamp of the currently saved working map and the generation timestamp of the reference map are on the same date. If yes, proceed to step 202; otherwise, proceed to step 204. The initial map of the currently saved working map is the map constructed when the robot performs its second task. Considering date changes, the generation timestamp of the currently saved working map differs from the generation timestamp of the reference map. Therefore, the generation timestamp of the currently saved working map that needs to be determined in each subsequent execution of step 201 will be later than the generation timestamp of the currently saved working map that needed to be determined in the previous execution of step 201.

[0072] Step 202: Update the currently saved working map in Step 201 to the previously saved working map, and update the generation timestamp of the currently saved working map in Step 201 to the generation timestamp of the previously saved working map, so as to iteratively update the working map to be judged; at the same time, perform work tasks and build a map in the preset working area, that is, relative to the already built base map or the previously built working map (the previously saved working map), start performing work tasks and building a map again in the preset working area, update the built map to the currently saved working map, and record the generation timestamp of the built map; then proceed to Step 203.

[0073] Step 203: Determine whether the generation timestamp of the currently saved working map in Step 202 is the same as the generation timestamp of the previously saved working map in Step 202. If yes, execute Step 202 to rebuild and save the new working map and its corresponding generation timestamp; otherwise, execute Step 204.

[0074] Step 204: Update the currently saved working map to the working map described in step 21; then execute step 21, at which point the iterative execution of steps 201 to 203 ends. If the execution jumps from step 201 to step 204, the currently saved working map is the working map described in step 201; if the execution jumps from step 202 to step 204, the currently saved working map is the working map described in step 202.

[0075] In some embodiments, when it is determined that the generation timestamp of the currently saved working map is the same as the generation timestamp of the previously saved working map, the previously saved working map is deleted, and step 202 is executed to update the currently saved working map to the previously saved working map and update the generation timestamp of the currently saved working map to the generation timestamp of the previously saved working map. This process continues until it is determined that the generation timestamp of the currently saved working map is not the same as the generation timestamp of the previously saved working map, at which point step 204 is executed.

[0076] Combining steps 201 to 204, it is known that the process first determines whether the generation timestamp of the currently saved working map and the generation timestamp of the base map are the same date. If they are, the work task and map construction restart within the preset working area; otherwise, step 21 is executed. During the restart of the work task and map construction within the preset working area, it is further determined whether the generation timestamp of the currently saved working map and the generation timestamp of the previously saved working map are the same date. If they are, the work task and map construction restart within the preset working area; otherwise, step 21 is executed. This date filtering prevents the problem of excessively frequent scene changes in multiple frames of maps saved on the same day, allowing the working map required for subsequent steps 21 to more effectively reflect the latest environmental changes. Consequently, the target map saved in step 25 has greater universality in dynamically changing environments.

[0077] As an example, referring to steps S1 to S3 of a method for post-verification of relocation results disclosed in Chinese Patent CN202111314321.5, it can be seen that in step 5 of this application, the method for the robot to verify the relocation result includes: determining that the matching score in the relocation result is greater than a first threshold and less than a second threshold; if so, updating the target map based on the relocation result; then walking for a set time or a set distance, acquiring point clouds of the environment during the walking process, matching the point clouds acquired during the walking process with the updated target map, and then determining whether the robot's positioning is successful or unsuccessful based on the matching result; wherein, the first threshold is less than the second threshold. The relocation result in step 5 is different from the relocation result described in step 1. The relocation result in step 5 is a new relocation result optimized by executing steps 1 to 5 when the relocation result described in step 1 fails to be verified. Preferably, both rely on the same relocation matching algorithm. Therefore, the robot dynamic region-based positioning method disclosed in this application is an optimization of the relocation matching algorithm in an environment with a dynamic region.

[0078] It should be noted that for the matching score, there are corresponding first and second thresholds. If the matching score in the relocation result is less than or equal to the first threshold, the relocation is directly judged as failed. If the matching score in the relocation result is between the first and second thresholds, the verification step is entered to perform post-verification on the relocation result. If the matching score in the relocation result is greater than or equal to the second threshold, the relocation is directly judged as successful. The first threshold is less than the second threshold. The first and second thresholds are empirical values, determined through testing on a large number of datasets, and can be set and modified according to the actual situation.

[0079] Based on the foregoing embodiments, in step 5, the specific method for updating the target map using the relocation result includes the following steps: determining the robot's current position using the relocation result, and then setting the robot's current position onto the target map; based on the robot's current position, loading the point cloud obtained during the robot's relocation matching algorithm process onto the target map to update the target map, which is equivalent to updating the map used for relocation calculation. After the relocation matching calculation is completed, a robot's positioning result (including coordinates) on the map is obtained, thereby matching the robot's current positioning position based on the point cloud. After determining the robot's positioning result on the map, a local map coordinate system is constructed based on this positioning result, for example, with the origin as the coordinate point for point cloud coordinate positioning, thereby loading the point cloud obtained during the robot's relocation matching algorithm process onto the target map used for relocation, updating the target map, and then planning a walking path on the target map.

[0080] Based on the foregoing embodiments, the method for determining whether robot localization is successful or unsuccessful based on the matching result includes: the robot performs overlap matching between the acquired point cloud data and the corresponding data points on the updated target map, obtaining the number of point cloud points for which no corresponding data point is available for matching, or obtaining the matching score of the point cloud points; if the number of point cloud points for which no corresponding data point is available for matching is greater than a set data, or the matching score of the point cloud points is less than a set threshold, then the robot is determined to have failed to verify the relocalization result and the robot localization is determined to have failed; otherwise, the robot is determined to have succeeded in verifying the relocalization result and the robot localization is determined to have succeeded.

[0081] It should be added that, in step 5, during the process of the robot executing the relocalization matching algorithm using the target map, the robot matches the collected point cloud with the map. Whenever a point in the point cloud is detected to coincide with the contour point of a corresponding type of dynamic region in the target map, a point cloud point is determined to be matched, and the corresponding matching score is obtained. After traversing all the point cloud points currently scanned by the robot, the matching results for different types of regions on the target map are obtained. In some embodiments, the matching result corresponding to the position point with the highest matching score is selected as the relocalization result described in step 5.

[0082] In some embodiments, to match the point cloud acquired during the walking process with the updated target map to determine whether the robot's localization was successful or failed based on the matching result, it can be understood that during the execution of the relocalization matching algorithm, before walking for a set time or a set distance, the robot first acquires the point cloud of the surrounding environment, and then performs overlap matching on each point cloud point in the acquired surrounding environment with the corresponding data points on the target map. The number of point clouds without corresponding data points for matching is obtained, i.e., the number of unknown points. If the number of point cloud points without corresponding data points for matching is greater than or equal to a walking threshold, the relocalization is determined to have failed; if the number of point cloud points without corresponding data points for matching is less than the walking threshold, the robot walks for a set time or a set distance. Then, during the walking for the set time or a set distance, the robot performs overlap matching on the acquired point cloud points with the corresponding data points on the target map, obtaining the number of point clouds without corresponding data points for matching, i.e., the number of unknown points, or obtaining the matching score of the point cloud points. If the number of point cloud points without corresponding data points for matching exceeds the set data, or if the matching score of the point cloud points is less than the set threshold, the relocation result verification is deemed to have failed; otherwise, the relocation result verification is deemed to have succeeded. In summary, step 5 involves obtaining a relocation result through the relocation matching algorithm and verifying the obtained relocation result. If the relocation result verification fails, the robot's localization is deemed to have failed; if the relocation result verification succeeds, the robot's localization is deemed to have succeeded.

[0083] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some or all of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present invention.

Claims

1. A localization method based on the dynamic region of a robot, the localization method comprising: The relocation result is obtained through a relocation matching algorithm, and then the relocation result is verified. The positioning method is characterized by further comprising: Step 1: If the relocation result fails, the robot determines whether the matching score in the relocation result is greater than a first preset score threshold. If yes, proceed to Step 2; otherwise, the robot's localization fails. Step 2: The robot marks the point cloud matched by the relocalization matching algorithm on the target map as the target matching point cloud; then, in the target matching point cloud, the robot performs a weighted calculation based on the matching score of the point cloud points falling into the corresponding area of ​​the target map to obtain the target matching score; then proceed to step 3. Step 3: The robot determines whether the target matching score is greater than the second preset score threshold. If yes, the robot is determined to have successfully located the target; otherwise, proceed to step 4. The second preset score threshold is greater than the first preset score threshold. Step 4: Mark the point cloud points corresponding to the target matching score as matching points, and mark the working map constructed by the robot when performing point cloud matching using the relocalization matching algorithm as a reference map; set the search distance based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map; starting from the matching point, select the navigation target point within the preset positioning distance range based on the search distance, and control the robot to move from the current position point to the navigation target point; then execute step 5; Step 5: When the robot moves to the navigation target point, the relocation result is obtained through the relocation matching algorithm and the obtained relocation result is checked. If the relocation result check fails, the robot positioning is determined to be failed. If the relocation result check succeeds, the robot positioning is determined to be successful.

2. The positioning method according to claim 1, characterized in that, In step 2, the area where the target matching point cloud is distributed is a non-dynamic area of ​​the target map, a reference dynamic area of ​​the target map, or a depth dynamic area of ​​the target map; wherein, both the reference dynamic area and the depth dynamic area belong to dynamic areas. The non-dynamic region is used to represent the area where the robot's environment has not changed. The matching score of the point cloud point at the matching position in the non-dynamic region of the target map is the first matching score. The reference dynamic region is used to represent the area where the robot's environment changes. The matching score of the point cloud point at the matching position of the reference dynamic region falling into the target map is the second matching score. The depth dynamic region is used to represent the area where the robot's environment changes more frequently relative to the reference dynamic region, making the probability of a point cloud point falling into the depth dynamic region higher than the probability of a point cloud point falling into the reference dynamic region; the matching score of the point cloud point at the matching position that falls into the depth dynamic region of the target map is the third matching score. Among them, the third matching score is less than the second matching score, and the second matching score is less than the first matching score.

3. The positioning method according to claim 2, characterized in that, The method for weighted calculation based on the matching scores of point cloud points falling into the corresponding area of ​​the target map includes: First, identify the regions in the target map where the target matching point cloud is distributed; Based on the identified region, determine the matching score of the point cloud points in the target matching point cloud that fall on the target map, and assign corresponding weights to the currently determined matching scores; Then, using the assigned weights, the matching scores corresponding to the point cloud points in the target matching point cloud that fall onto the target map are weighted and calculated to obtain the target matching score.

4. The positioning method according to claim 3, characterized in that, Within a preset test time, whenever the matching score of a point cloud point matched by the relocation matching algorithm in the dynamic area of ​​the target map changes, the matching score of the matched point cloud point is incremented once. After a preset test time, the accumulated result is obtained. If the accumulated result is greater than the preset total score threshold, the dynamic region is determined to be a deep dynamic region. If the accumulated result is less than or equal to a preset score threshold, then the dynamic region is determined to be a reference dynamic region.

5. The positioning method according to claim 2, characterized in that, In step 4, the method of setting a search distance based on the relationship between the mask extracted from the reference map and the mask extracted from the depth dynamic region of the target map, and selecting the navigation target point within a preset positioning distance range based on the search distance starting from the matching point, includes: Extract the target mask based on the outline of the reference map; Based on the dynamic regions in the target map, a target distance image is mapped; wherein, the point cloud points on the target map correspond to the distance values ​​in the target distance image, so that the distance values ​​in the target distance image are used to measure the distance information between the point cloud points on the target map and the dynamic regions in the target map; Based on the obstacles marked in the reference map, an obstacle distance image is mapped, and the distance values ​​in the obstacle distance image are marked as the first distance value; wherein, the point cloud points on the reference map correspond to the distance values ​​in the obstacle distance image, so that the obstacle distance image is used to measure the distance information between the point cloud points on the reference map and the obstacles marked in the reference map; The target distance image and obstacle distance image are cropped using a target mask to obtain localization candidate regions; a reference mask is extracted from the depth dynamic region of the target map, and then the distance values ​​covered by the localization candidate regions within the reference mask are weighted and calculated to obtain the second distance value. Then, the sum of the first distance value and the second distance value is set as the search distance; Then, starting from the matching point, the point cloud point corresponding to the largest search distance within the preset positioning distance range is selected as the navigation target point.

6. The positioning method according to claim 5, characterized in that, The method for extracting the target mask based on the contour of the reference map includes: The maximum map outline is searched within the reference map, then filled with the maximum map outline, and the image area enclosed by the filled maximum map outline is set as the target mask.

7. The positioning method according to claim 5, characterized in that, The method for extracting the reference mask from the depth dynamic region of the target map includes: Within the depth dynamic region of the target map, a location point is selected as the center, and the sampling distance is set as the radius to form a circular region. This circular region is then set as the reference mask to segment out a circular mask within the depth dynamic region of the target map.

8. The positioning method according to claim 7, characterized in that, The method of weighting the calculation using the distance values ​​corresponding to the location candidate regions covered within the reference mask includes: According to the pre-stored weights, each distance value corresponding to the location candidate region covered by the reference mask is weighted and calculated to obtain the second distance value of each point cloud point in the reference mask corresponding to the location candidate region. Wherein, each distance value covered by the positioning candidate region within the reference mask is: the distance value of each point cloud point in the point cloud on the reference mask corresponding to the positioning candidate region; The distance values ​​that the candidate positioning region covers within the reference mask include: the minimum distance between the point cloud point and the edge of the dynamic region within the reference mask, or the minimum distance between the point cloud point and the outline of an obstacle within the reference mask.

9. The positioning method according to claim 8, characterized in that, For each point cloud point in the location candidate region corresponding to the reference mask, the sum of the first distance value calculated for the same point cloud point and the second distance value calculated for the same point cloud point is set as the search distance, and a search distance image is mapped based on the search distance. Then, within the search distance image, starting from the matching point, the maximum search distance is selected within a preset positioning distance range, and the point cloud point corresponding to the maximum search distance is set as the navigation target point.

10. The positioning method according to claim 1, characterized in that, The method for constructing the target map in step 2 includes: Based on the baseline map and working map constructed by the robot performing tasks sequentially within the preset working area, obstacle areas are extracted, and dynamic areas are marked and expanded to generate the target map.

11. The positioning method according to claim 10, characterized in that, The method for extracting obstacle regions and performing dynamic region marking and region dilation processing includes: Step 21: Extract obstacle regions from the base map and mark the extracted obstacle regions as the first obstacle map region; extract obstacle regions from the working map and mark the extracted obstacle regions as the second obstacle map region; then proceed to step 22; Step 22: Extract the overlapping area from the first obstacle map area and the second obstacle map area, then subtract the overlapping area from the second obstacle map area, and mark the resulting map area as the reference obstacle map; then proceed to step 23. Step 23: Identify the dynamic and non-dynamic areas in the reference obstacle map; then proceed to step 24; Step 24: Expand the dynamic region in the reference obstacle map according to the template of the preset size; then proceed to step 25; Step 25: Mark the reference obstacle map where the expanded dynamic region is located as the target map; or first construct a global map within the preset working area, then save all the reference obstacle maps where the expanded dynamic region is located into the global map, and then mark the global map with the saved reference obstacle maps as the target map.

12. The positioning method according to claim 11, characterized in that, In step 23, the method for identifying dynamic and non-dynamic regions in the reference obstacle map includes: The system identifies dynamic location points and other location points in the reference obstacle map. The pixel values ​​of the dynamic location points are set as the first pixel value in the reference obstacle map, and then the dynamic location points are grouped into a dynamic region. The pixel values ​​of the other location points in the reference obstacle map are set as the second pixel value, and then the other location points are grouped into a non-dynamic region. In this case, the first pixel value and the second pixel value are not equal; The dynamic location point is used to represent a location point whose coordinate information remains unchanged but whose marked environmental information changes. The marked environmental information includes information on whether an obstacle occupies a position and information on whether the same obstacle has been displaced.

13. The positioning method according to claim 11, characterized in that, The baseline map is a map built when the robot performs a work task for the first time in the preset work area. When the robot finishes performing the work task for the first time, the baseline map is saved and the corresponding generation timestamp of the baseline map is recorded. Starting from the second time the robot performs a task within the preset work area, it builds a map within the preset work area each time it performs a task. After each task is completed, the built map is saved as the work map, and the corresponding generation timestamp of the work map is recorded.

14. The positioning method according to claim 13, characterized in that, The robot begins its second task and map building within the pre-defined work area. Before performing step 21, the robot also includes: Step 201: Determine whether the generation timestamp of the currently saved working map and the generation timestamp of the base map are on the same date. If yes, proceed to step 202; otherwise, proceed to step 204. Step 202: Update the currently saved working map in Step 201 to the previously saved working map, and update the generation timestamp corresponding to the currently saved working map in Step 201 to the generation timestamp corresponding to the previously saved working map; at the same time, perform work tasks and build a map within the preset working area, then update the built map to the currently saved working map, and record the generation timestamp corresponding to the built map; then proceed to Step 203. Step 203: Determine whether the generation timestamp of the currently saved working map in Step 202 is the same as the generation timestamp of the last saved working map in Step 202. If yes, proceed to Step 202; otherwise, proceed to Step 204. Step 204: Update the currently saved working map to the working map described in step 21, and then execute step 21.

15. The positioning method according to claim 1, characterized in that, In step 5, the method for verifying the relocation result includes: If the matching score in the relocation result is greater than the first threshold and less than the second threshold, the target map is updated based on the relocation result. Then, the user walks for a set time or a set distance and acquires the point cloud of the environment during the walking process. The point cloud acquired during the walking process is then matched with the updated target map. The user then determines whether the relocation result verification is successful or unsuccessful based on the matching result. The first threshold is less than the second threshold.

16. The positioning method according to claim 15, characterized in that, In step 5, the specific method for updating the target map based on the relocation results includes the following steps: The robot's current position is determined based on the relocation results, and then the robot's current position is set in the target map; Based on the robot's current position, the point cloud obtained during the robot's relocation matching algorithm is loaded into the target map to update the target map.

17. The positioning method according to claim 15, characterized in that, The method for determining whether robot localization is successful or unsuccessful based on the matching results includes: The robot will match the acquired point cloud data with the corresponding data points on the updated target map to obtain the number of point cloud points that do not have corresponding data points for matching, or obtain the matching score of the point cloud points. If the number of point cloud points for which no corresponding data point is available for matching is greater than the set data, or if the matching score of the point cloud points is less than the set threshold, then the robot is determined to have failed to verify the relocalization result. If the number of point cloud points that can be matched with corresponding data points is less than or equal to the set data, and the matching score of the point cloud points is greater than or equal to the set threshold, then the robot is determined to have successfully verified the relocation result.

Citation Information

Patent Citations

  • Post-inspection method for relocation result, chip and robot

    CN116086450A

  • Robot repositioning method, robot and computer readable storage medium

    CN115375869A

  • KR20230070868A