Positioning method based on dynamic region of robot
By utilizing relocation matching algorithms and weighted calculations to select navigation target points in dynamic environments, the problem of unstable robot positioning was solved, achieving accurate positioning in dynamic environments.
Patent Information
- Application Number
- PCT/CN2025/077293
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-25
- Filing Date
- 2025-02-14
- Publication Date
- 2026-01-02
AI Technical Summary
Existing technologies cannot reliably locate robots in dynamic environments, and are prone to mismatch due to environmental changes, which affects the working performance of the robot vacuum cleaner.
The relocation result is obtained by using a relocation matching algorithm. When the initial test fails, the search distance is set by weighted calculation and mask relationship, the navigation target point is selected, and the final relocation result is tested to improve the positioning robustness.
It achieves accurate and stable positioning of the robot in dynamic environments, reduces mismatches, and improves the robot's navigation accuracy in dynamic areas.
Smart Images

Figure CN2025077293_02012026_PF_FP_ABST
Abstract
Description
Robot dynamic area based positioning method TECHNICAL FIELD
[0001] The present application relates to the technical field of map repositioning, and in particular to a robot dynamic area based positioning method. BACKGROUND
[0002] Currently, the environment used by the sweeping robot is a home environment. During the working time of the sweeping robot, the home environment cannot be guaranteed to remain unchanged. The home environment will always change due to the change in the distribution position of obstacles, forming a dynamic area. In the case of changes in the home environment, point cloud matching will be affected by the dynamic changes in the environment, and some image segmentation algorithms (using a large number of image processing methods, such as image graying, binarization, threshold comparison, etc.) will reduce the universality and computational efficiency as the picture scene changes greatly.
[0003] In view of the recognition accuracy of repositioning, a Chinese invention patent with the patent application number CN202111314321.5 discloses a method for post-inspection of repositioning results. The method compares the matching score in the repositioning result after repositioning calculation with the second threshold and the first threshold to determine whether the repositioning is successful, failed or needs to be repositioned. However, when the method directly judges the repositioning failure or success through the matching result, it does not perform subsequent inspection, which is easy to cause mismatching in an environment where objects frequently change. Moreover, the map matching inspection of the method does not perform targeted repositioning based on the type of dynamic area, which will eventually affect the positioning stability of the robot in the dynamic area. SUMMARY
[0004] The present application discloses a robot dynamic area based positioning method, and the specific technical solutions include:
[0005] The positioning method based on the dynamic area of the robot comprises: obtaining a repositioning result by a repositioning matching algorithm, and then verifying the repositioning result; the positioning method further comprises: step 1, in the case that the verification of the repositioning result fails, the robot judges whether the matching score in the repositioning result is greater than a first preset score threshold, yes, then enter step 2, otherwise, determine that the robot positioning fails; step 2, the robot marks the point cloud matched by the repositioning matching algorithm on the target map as a target matching point cloud; then, in the target matching point cloud, the target matching score is obtained by weighting calculation according to the matching score of the point cloud points falling on the corresponding area of the target map; then enter step 3; step 3, the robot judges whether the target matching score is greater than a second preset score threshold, yes, then determine that the robot positioning succeeds, otherwise, enter step 4; wherein the second preset score threshold is greater than the first preset score threshold; step 4, mark the point cloud point corresponding to the target matching score as a matching point, and mark the working map constructed by the robot when using the repositioning matching algorithm to match the point cloud as a reference map; set a search distance based on the relationship between the mask extracted in the reference map and the mask extracted in the depth dynamic area of the target map, select a navigation target point within a preset positioning distance range based on the search distance from the matching point, 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 a repositioning result by the repositioning matching algorithm and verify the current obtained repositioning result, when the repositioning result fails, determine that the robot positioning fails, and when the repositioning result succeeds, determine that the robot positioning succeeds.
[0006] In summary, by executing steps 1 to 5, the navigation target point is selected in the map with dynamic area and moved to the navigation target point to verify the repositioning result to improve the robustness of the positioning detection to environmental changes. Specifically, for the positioning of the map with dynamic area, in the case of initial verification failure, the score threshold is compared first, then the point cloud in the dynamic area or the non-dynamic area is weighted calculated, and then the higher score threshold is compared, the interference of the matching score is continuously excluded, then the search distance is set based on the relationship between the mask extracted in the reference map and the mask extracted in the depth dynamic area of the target map, the local map area and the outline of the marked obstacle are segmented and distance value analysis is performed, the position point matched with the search distance is selected as the navigation target point based on this, so that the robot recognizes less depth dynamic area at the navigation target point but does not deviate too far from the original position; when the robot moves to the navigation target point, the final repositioning result verification is performed to determine whether the robot positioning succeeds.
[0007] Compared with the prior art, the application does not eliminate dynamic pixels in a map, establishes reliable dynamic maps (for example, target maps and reference maps) and extracts a mask, sets the mask to a map with a dynamic area and subtracts and compares between different maps, obtains a distance image with the search distance to set a navigation target point by directly extracting the search distance and performs positioning verification based on this, realizes segmentation of a positioning point within a map area corresponding to the mask and within a reasonable distance range from an obstacle and a dynamic area, thereby improving adaptability of a positioning method to a dynamic changing environment in different local map areas, and thus, the purpose of completing accurate and stable map repositioning and matching in a dynamic changing environment is achieved. BRIEF DESCRIPTION OF DRAWINGS
[0008] Fig. 1 is a flowchart of a positioning method based on a dynamic area of a robot according to an embodiment of the application.
[0009] Fig. 2 is a flowchart of a method for setting a navigation target point according to another embodiment of the application.
[0010] Fig. 3 is a flowchart of a method for constructing a target map according to still another embodiment of the application. DETAILED DESCRIPTION
[0011] The specific embodiments of the application are further described below with reference to the accompanying drawings.
[0012] According to the relocation process disclosed in the Chinese invention patent with patent application number CN202111314321.5, the robot uses the point cloud map scanned in real time by the laser radar to traverse the pre-stored global laser grid map. The traversal process is a map matching process. Each matching can obtain a matching result containing three parameters: matching score, matching area, and matching area rate. Among them, the matching score is the percentage of the point (also known as point cloud point) on the point cloud map that coincides with the obstacle when it falls on the corresponding matching position on the global laser grid map. For example, if the point on the point cloud map completely coincides with the obstacle at the corresponding matching position, the matching score is 1, and if there is 60% coincidence, the matching score is 0.6. After the traversal is completed, the matching results of the point cloud map at different positions on the global laser grid map are obtained, and the matching result corresponding to the position with the highest matching score is selected as the relocation result. Subsequently, the map used for relocation calculation is updated through the relocation result, and then the robot walks for a set time or a set distance and obtains the point cloud data of the environment during the walking process. Then the robot matches the point cloud data obtained during the walking process with the updated map, and then determines whether the relocation is successful or failed according to the matching result (which is basically determined by the comparison result of the matching score and the score threshold). This method does not perform image area screening and matching point analysis at the image level of the map image. The relocation failure or success result determined by this method is prone to cause mismatching in an environment where objects frequently change. If it is determined that the relocation fails, there may be a large number of unknown points that do not match the data points of the global laser grid map, which means that the robot may have matched outside the map. If it is outside the map, it means that the robot position is wrong. All cleaning functions will be disordered, and the relocation failure is directly determined. At this time, there may be mismatching because the point cloud matching will be affected by the dynamic changes of the environment under the condition that the working environment changes, such as the splicing error in the matching process of the point cloud. Moreover, the robot uses the rapid expansion random tree path planning algorithm to walk or go to the point cloud center, which has the phenomenon of walking a straight line or random walking, and finally affects the positioning accuracy of the mobile robot.
[0013] In view of the foregoing technical defects, the positioning method based on dynamic area of a robot is disclosed, which identifies a dynamic area and optimizes a repositioning algorithm by using the identified dynamic area. As shown in FIG. 1, the positioning method comprises: obtaining a repositioning result by a repositioning matching algorithm, then verifying the repositioning result, and then performing step 1. In the verification process, the robot walks for a set time or a set distance, and acquires point clouds of the environment during the walking process. The acquired point clouds are used for matching with a global grid map previously constructed by the robot. The specific method for verifying the repositioning result disclosed in the present application refers to the method for verifying the repositioning result disclosed in the Chinese invention patent application No. CN202111314321.5, specifically, the case of judging the repositioning success in the Chinese invention patent application No. CN202111314321.5 is identified as the case of verifying the repositioning result success, and the case of judging the repositioning failure in the Chinese invention patent application No. CN202111314321.5 is identified as the case of verifying the repositioning result failure.
[0014] Whenever the repositioning matching algorithm is completed, a result that the robot should be at which position of the map is obtained, which can also be said that a point cloud point is matched to the current position of the robot. After obtaining that the robot is at which position of the map, the coordinate position of the robot is set, then the point cloud data acquired in the repositioning matching calculation process of the robot is loaded into the global grid map for repositioning based on the coordinate position of the robot, the global grid map is updated, and then walking is performed on the global grid map. It should be noted that the repositioning matching algorithm disclosed in the present application can be the repositioning calculation in the Chinese invention patent application No. CN202111314321.5 or any other repositioning matching algorithm related to point cloud matching disclosed in the prior art. Even if the corresponding repositioning matching algorithm is not robust to dynamic environment, the positioning method disclosed in the present application can be optimized.
[0015] The robot can be a sweeping robot, a mopping robot, a disinfection robot, a service robot or other autonomous mobile robot. An accurate map is a prerequisite for normal operation of the robot. However, the home environment cannot be guaranteed to be unchanged during the working time of the sweeping robot, and various changes will always exist, for example, when the obstacle area distributed in the map appears to change, point cloud mismatching is easily caused, and the repositioning result verification fails.
[0016] The positioning method disclosed in the present application further comprises:
[0017] Step 1, in the case of failure of the repositioning result, the robot determines whether the matching score in the repositioning result is greater than a first preset score threshold, yes to step 2, otherwise, it is determined that the robot positioning fails to end the execution of the positioning method. The matching score in the repositioning result is the percentage of the point (also recorded as the point cloud point) on the pre-scanned point cloud map coinciding with the pre-marked obstacle position when falling on the corresponding matching position on the pre-constructed global grid map; the first preset score threshold is preferably 0.65, so that the robot continues to screen and judge from the repositioning result with a matching score higher than 0.65, thereby improving the recognition accuracy of the positioning effect.
[0018] Step 2, the robot marks the point cloud matched by the repositioning matching algorithm on the target map as the target matching point cloud; then, in the target matching point cloud, the target matching score is obtained by weighted calculation according to the matching score corresponding to the point cloud point falling on the corresponding area of the target map; then step 3 is entered. Wherein, the target map can reflect the point cloud and its matching situation on the dynamic area and the non-dynamic area around the robot, then the target map is classified as a dynamic map, if the target map is obtained by image processing from the reference map, then the reference map is classified as a dynamic map.
[0019] The target matching point cloud includes point cloud points on the non-dynamic area of the target map, point cloud points falling on the reference dynamic area of the target map and / or point cloud points falling on the depth dynamic area of the target map, and the probability of point cloud points falling on the depth dynamic area is higher than the probability of point cloud points falling on the reference dynamic area. The weighted calculation in step 2 is to weight the matching score corresponding to the point cloud points on a single type of area after identifying the type of the area where the point cloud points are distributed, and to obtain the target matching score in a targeted manner.
[0020] Step 3, the robot determines whether the target matching score is greater than a second preset score threshold, yes to determine that the robot positioning is successful, otherwise step 4 is entered; wherein the second preset score threshold is greater than the first preset score threshold, the higher the set score threshold, the easier to determine the positioning success. The second preset score threshold and the first preset score threshold are both determined through a large number of data set tests, and can be set and modified according to actual conditions.
[0021] Therefore, steps 2 and 3 are based on the checking of the point cloud matching in the target map, and for the matched point cloud, the weighted calculation is made according to the type of the area where the point cloud is located, so as to determine whether the robot is positioned successfully through the matching score threshold comparison.
[0022] Step 4, mark the point cloud point corresponding to the target matching score as a matching point, at this time it has not been judged as a successful positioning, temporarily mark the point cloud point corresponding to the target matching score calculated as the matching point, the point cloud point with a target matching score less than or equal to a second preset score threshold is marked as a matching point; mark the working map constructed by the robot when using the repositioning matching algorithm to perform point cloud matching as a reference map; it is worth noting that the matching map required for executing the repositioning matching algorithm is different from the reference map, and the reference map is a map constructed by the robot traversing the same working area at least once globally, specifically, the robot constructs a working map in real time in the process of performing a work task in the working area, at the same time, the robot uses a target map to perform point cloud matching, so that when the point cloud matching is successful, the working map can be marked as the reference map, of course, when the point cloud matching fails, the working map can also be marked as the reference map, thereby realizing updating of the reference map, being capable of loading the point cloud data acquired by the robot in the process of executing the repositioning matching algorithm into the reference map, and further 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 where the robot is located.
[0023] For point cloud matching, three parameters of matching score, matching area and matching area rate can be used for threshold comparison, for example, it is judged that the matching positioning is successful when it is greater than or equal to the threshold value of the corresponding type.
[0024] In step 4, the search distance is set 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, and the relationship here includes the relationship between covering and being covered; specifically, the target mask is extracted from the reference map, and the positioning candidate area (including the distance information between the point cloud (including the matching point) on the target map and the dynamic area and the obstacle) is cropped from the distance image corresponding to the mapping of the target map and the distance image corresponding to the mapping of the reference map based on the target mask, the reference mask is extracted from the depth dynamic area of the target map, and then the search distance is set based on the weighted calculation result of the distance value corresponding to the reference mask of the positioning candidate area and the distance value associated with the obstacle point in the distance image corresponding to the mapping of the reference map (representing the distance information between the point cloud on the reference map and the obstacle); the search distance covers the distance information between the point cloud on the target map and the dynamic area and the distance information between the point cloud on the reference map and the obstacle; preferably, 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 have the same scale and coordinates, and the coordinates in the distance image corresponding to the mapping of the search distance can be directly used on the reference map.
[0025] In step 4, starting from the matching point, a navigation target point is selected within a preset positioning distance range based on the search distance, and the robot is controlled to move from the current position point to the navigation target point, and then step 5 is performed. Specifically, within the coordinate range covered by the search distance corresponding to the distance image of the map, the coordinate point with the maximum search distance can be selected as the navigation target point within the preset positioning distance range, so that the robot moves from the current position point to the navigation target point and enters a local area (which can be a part of the working area) in which the proportion of the depth dynamic area of the target map decreases or the number of depth dynamic areas decreases, so as to search for a navigation target point at a position away from the depth dynamic area.
[0026] It should be noted that the depth dynamic area means that the environment where the robot is located is prone to change, and if the positioning algorithm is executed in the depth dynamic area, a large number of points cannot be matched to the map, so moving away from the depth dynamic area means that it is easier to successfully position, and thus, after the search distance is set in step 4, a navigation target point is selected within a preset positioning distance range based on the search distance starting from the matching point, so as to find a position close to the matching point and having less dynamic area from the map.
[0027] Step 5, when the robot moves to the navigation target point, a repositioning result is obtained by the repositioning matching algorithm, that is, a new repositioning result is calculated at the navigation target point and the current obtained repositioning result is verified. The verification can refer to the method for post-verification of a repositioning result disclosed in Chinese patent application No. CN202111314321.5, which will not be described here. When the repositioning result fails, it is determined that the robot positioning fails (which can be understood as the robot repositioning fails), at this time, 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 by the actual environment; when the repositioning result is successful, it is determined that the robot positioning is successful (which can be understood as the robot repositioning is successful), at this time, 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 by the actual environment.
[0028] In summary, the application selects a navigation target point in a map with dynamic areas and moves to the navigation target point to verify the relocation result to improve the robustness of the positioning detection to environmental changes by performing steps 1 to 5. Specifically, for positioning in a map with dynamic areas, in the case of initial verification failure, the application compares with a score threshold, then performs weighted calculation based on the point cloud in the dynamic area or the non-dynamic area, and then compares with a higher score threshold, continuously excludes the interference of the matching score alone, and then sets 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. The local map area and the contour of the labeled obstacle can be segmented and analyzed for distance value, and the position point matching the search distance is selected as the navigation target point based on this, so that the robot recognizes less depth dynamic area at the navigation target point but does not deviate too far from the original position; the robot moves to the navigation target point to make a final relocation result verification to determine whether the robot is successfully positioned.
[0029] Compared with the prior art, the application does not exclude dynamic pixels in the map, establishes reliable dynamic maps (e.g., target map and reference map) and extracts masks, sets the mask corresponding to the map with dynamic areas and compares between different maps by subtraction, obtains a distance image with the search distance to set the navigation target point by directly extracting the search distance and performs positioning verification based on this, realizes segmentation of the positioning point within the map area corresponding to the mask and within a reasonable distance range from the obstacle and the dynamic area, thereby improving the adaptability of the positioning method to the dynamic changing environment in different local map areas, and thus achieving the purpose of completing accurate and stable map relocation matching in a dynamically changing environment.
[0030] In step 2, the area where the target matching point cloud is distributed is the non-dynamic area of the target map, the reference dynamic area of the target map, or the depth dynamic area of the target map; wherein the reference dynamic area and the depth dynamic area belong to the dynamic area; if the target map is derived from the reference map, it can also be understood that the reference map has non-dynamic areas, reference dynamic areas, or depth dynamic areas; wherein the non-dynamic area, the reference dynamic area, or the depth dynamic area can be distinguished in the case of detecting point cloud matching, that is, the type of area is identified in the process of performing the relocation matching algorithm.
[0031] The non-dynamic area is used to represent an area in which the environment where the robot is located has no change, and correspondingly, the obstacles in the target map have no displacement and change in contour size, i.e., the obstacles in the surrounding environment of the robot are relatively fixed in distribution; the matching score corresponding to the point cloud point falling on the matching position of the non-dynamic area of the target map is a first matching score, the non-dynamic area is an area in which the robot preferentially navigates, and the first matching score can be set to be higher than or equal to 1, and is preferably 1.2, which indicates that the matching part in the target map is generally a stable wall or a relatively fixed obstacle, and the mapping of these areas only has some small differences, and the repositioning success rate in the non-dynamic area is relatively high.
[0032] The reference dynamic area is used to represent an area in which the environment where the robot is located changes, and the matching score corresponding to the point cloud point falling on the matching position of the reference dynamic area of the target map is a second matching score; the deep dynamic area is used to represent an area in which the environment where the robot is located changes more frequently relative to the reference dynamic area, so that the probability of the point cloud point falling into the deep dynamic area is higher than the probability of the point cloud point falling into the reference dynamic area; the matching score corresponding to the point cloud point falling on the matching position of the deep dynamic area of the target map is a third matching score; the second matching score is greater than the third matching score, i.e., the matching success rate of the point cloud in the reference dynamic area is higher than the matching success rate in the deep dynamic area; for the non-dynamic area and different dynamic areas, 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 matching score, the second matching score, and the third matching score 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. Preferably, if the second matching score is 0.9, the third matching score is 0.7.
[0033] In order to recalculate the matching score, the method for weighting the matching score corresponding to the point cloud point falling on the target map in the target matching point cloud includes:
[0034] First, the area in which the target matching point cloud is distributed in the target map is identified, including distinguishing the non-dynamic area and the dynamic area in the target map, and distinguishing the reference dynamic area and the deep dynamic area from the dynamic area.
[0035] Specifically, if it is determined that the marked environment information at the same coordinate position changes in a period of time, the coordinate position is a dynamic position point, and a plurality of adjacent or small-interval (for example, 1 to 3 grid points / coordinate position points) dynamic position points form the dynamic region; wherein, the marked environment information includes information of whether an obstacle occupies a position and information of whether the same obstacle is displaced. If it is determined that the marked environment information at the same coordinate position does not change in a period of time, the coordinate position is a non-dynamic position point, and a plurality of adjacent or small-interval (for example, 1 to 3 grid points / coordinate position points) non-dynamic position points form the non-dynamic region.
[0036] Based on the identified regions, a matching score corresponding to the point cloud points falling on the target map in the target matching point cloud is determined, and a corresponding weight is assigned to the currently determined matching score; in step 2, the weights assigned to the point cloud points on the non-dynamic region and the reference dynamic region (the weights assigned to the first matching score and the weights assigned to the second matching score) are higher than the weight assigned to the point cloud points on the deep dynamic region (the weight assigned to the third matching score), and the weight assigned to the point cloud points on the reference dynamic region is higher than the weight assigned to the point cloud points on the non-dynamic region; wherein, the weight assigned to the point cloud points on the non-dynamic region, the weight assigned to the point cloud points on the reference dynamic region, and the weight assigned to the point cloud points on the deep dynamic region are empirical values, which are determined through a large number of point cloud matching tests and can be set and modified according to actual environmental changes.
[0037] Then, the assigned weights are used to control the weighted calculation of the matching scores corresponding to the point cloud points falling on the target map in the target matching point cloud, to obtain the target matching scores. Specifically, the weighted calculation is performed separately for the aforementioned identified non-dynamic region, reference dynamic region, or deep dynamic region, that is, the matching score corresponding to the point cloud points falling on a region in the target matching point cloud is multiplied by the assigned weight, and the product is the target matching score corresponding to the matching successful point cloud points on the identified region, so that the weighted calculation of the single matching score is realized according to the dynamic region or non-dynamic region where the matched point cloud is located, and the matching score of the target matching point cloud on the same type of region is recalculated.
[0038] In some embodiments, on the basis of distinguishing the dynamic area, the method of distinguishing the reference dynamic area and the non-dynamic area continuously comprises: when the matching score corresponding to a matched point cloud point on the dynamic area of the target map changes, the matching score corresponding to the matched point cloud point is accumulated once within a preset test time, which 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. The accumulation result is obtained after the preset test time; if the accumulation result is greater than a preset total score threshold, it is determined that the dynamic area is a deep dynamic area; if the accumulation result is less than or equal to the preset score threshold, it is determined that the dynamic area is a reference dynamic area; thus, the point cloud matched by the reposition matching algorithm on the dynamic area of the target map is distinguished from the reference dynamic area and the non-dynamic area in the dynamic area based on the accumulated value of the matching score after the accumulation of the preset test time.
[0039] In order to improve the time robustness, the preset test time is preferably 10 days, and correspondingly, the preset total score threshold is preferably 5.
[0040] As an embodiment, as shown in FIG. 2, in the step 4, the search distance is set based on the relationship between the mask extracted from the reference map and the mask extracted from the deep dynamic area of the target map, and the method of selecting the navigation target point within the preset positioning distance range based on the search distance starting from the matching point comprises:
[0041] Step 41: extracting a target mask according to the contour of the reference map; then performing step 42. Preferably, the method of extracting the target mask according to the contour of the reference map comprises: searching for a maximum map contour in the reference map, extracting the boundary of the reference map as the maximum map contour according to the edge detection method, and then filling the maximum map contour to make the filled maximum map contour more continuous and smooth; and setting the image area circled by the filled maximum map contour as the target mask, also called target mask image.
[0042] Step 42, according to the dynamic region in the target map, a target distance image is mapped out; then step 43 is executed. Wherein, the point cloud points on the target map correspond to the distance values in the target distance image. It can be understood that by mapping the point cloud points on the target map into the distance values in the target distance image, 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 region in the target map. Then the target distance image can be regarded as the collection of distance values between each point cloud point on the target map and the dynamic region in the target map. The dynamic region in the target map has been identified before the weighted calculation in step 2 is executed. In order to make the subsequently selected navigation target point as far away from the depth dynamic region as possible, the distance value in the target distance image is preferably the minimum distance value between the point cloud points on the target map and the edge of the dynamic region.
[0043] Step 43, according to the marked obstacles in the reference map, an obstacle distance image is mapped out, and the distance values in the obstacle distance image are marked as first distance values; then step 44 is executed. Wherein, the point cloud points on the reference map correspond to the distance values in the obstacle distance image. The obstacle distance image is used to measure the distance information between the point cloud points on the reference map and the marked obstacles in the reference map. Then the obstacle distance image can be regarded as the collection of distance values between each point cloud point on the reference map and the marked obstacles in the reference map, to represent the distance information between the point cloud points on the reference map and the marked obstacles in the reference map. For example, in the case of ensuring obstacle avoidance effect, the distance value in the obstacle distance image is preferably the minimum distance value to the contour of the obstacle.
[0044] Step 44, the target distance image and the obstacle distance image are cropped by using the target mask to obtain a positioning candidate region, wherein the obtained point cloud points and their corresponding distance values are regarded as being in the positioning candidate region. If the target distance image and the obstacle distance image have overlapping parts, the target mask can also be used to crop the positioning candidate region from them to represent the same distance information in the target distance image and the obstacle distance image, i.e. the distance information between the same point cloud points and the obstacles in or at the edge of the dynamic region.
[0045] Step 44 uses the target mask to crop the positioning candidate region from the target distance image and the obstacle distance image, which is equivalent to extracting the positioning candidate region and obtaining its distance values in the target distance image and the obstacle distance image and the corresponding point cloud points. In some embodiments, the areas outside the positioning candidate region in the target distance image and the obstacle distance image can be deleted, thereby improving the calculation efficiency and reducing the data to be processed, which can avoid affecting the subsequent work.
[0046] In step 44, a reference mask is extracted from the depth dynamic region of the target map; specifically, the method of extracting the reference mask from the depth dynamic region of the target map comprises: selecting a position point as the center of a circle and setting a sampling distance as the radius of the circle domain in the depth dynamic region identified in the target map, and ensuring that the circle domain is located in the depth dynamic region; and then setting the circle domain as the reference mask to segment out a circular mask in the depth dynamic region of the target map. Preferably, the sampling distance is preferably 1.5 m. The sampling distance (which can be the walking distance of the robot) is the radius of the circle domain with the current position of the robot as the center.
[0047] Then the distance values corresponding to the coverage of the positioning candidate region in the reference mask are weighted to obtain a second distance value, which is equivalent to weighting each distance value corresponding to the reference mask of the positioning candidate region in the target map, so as to convert each distance value into a corresponding second distance value. Specifically, the method of weighting the distance values corresponding to the coverage of the positioning candidate region in the reference mask comprises: weighting each distance value corresponding to the coverage of the positioning candidate region in the reference mask according to the pre-stored weight to obtain the second distance value of each point cloud point corresponding to the positioning candidate region in the reference mask; the pre-stored weight is set according to the distance of the point cloud point on the depth dynamic region relative to the edge of the dynamic region (including the depth dynamic region and the reference dynamic region) and the distance of the point cloud point relative to the obstacle contour, and the pre-stored weight is preferably 0.5. The distance value after weighting is reduced, the search distance in subsequent calculation is reduced, and the navigation target point selected in the subsequent process is prevented from being set in a local area with a high coverage ratio of the depth dynamic region or a large number of depth dynamic regions, so that the robot moves from the current position point to the navigation target point and moves away from the depth dynamic region.
[0048] It should be noted that each distance value corresponding to the coverage of the positioning candidate region in the reference mask is the distance value of each point cloud point corresponding to the positioning candidate region in the point cloud on the reference mask; each distance value corresponding to the coverage of the positioning candidate region in the reference mask includes the minimum distance value between the point cloud point and the edge of the dynamic region in the reference mask, or the minimum distance value between the point cloud point and the obstacle contour in the reference mask.
[0049] In step 4, whether the positioning candidate region is cropped from the target distance image and the obstacle distance image using the target mask or the positioning candidate region is in the region covered by the reference mask requiring weighted calculation, after the mask is created, the mask of the cropped image (corresponding to the aforementioned target mask) and the mask covered (corresponding to the aforementioned reference mask) are mapped onto the active region of the map region or the distance image, and the pixels in the active region are assigned values so that the active region is the same as the mask after assignment, so as to process the distance values corresponding to each point cloud point on the mask. The shape of the target mask is determined by the maximum contour of the reference map, and the maximum contour of the reference map outlines the region requiring positioning in the form of a box, a circle, an ellipse, an 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 on the position covered by the reference mask in the positioning candidate region, set the sum of the first distance value and the second distance value as the search distance, and map the search distance image based on the search distance, so as to combine the obstacle distance image and the reference mask into the search distance image; wherein the search distance image can be regarded as a set of sums of distance values corresponding to each point cloud point on the position covered by the reference mask in the positioning candidate region and distance values of corresponding point cloud points of the obstacle distance image, to represent distance information required for searching the navigation target point.
[0051] It should be noted that the positioning candidate region, the obstacle distance image and the search distance image all use the same coordinate scale. Thus, the sum of the distance between the point cloud and the obstacle in the comprehensive environment and the distance between the point cloud and the dynamic region is calculated to obtain the search distance, and is applicable to the reference map and the target map for positioning.
[0052] Step 46, from the matching point, select the point cloud point corresponding to the maximum search distance within a 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; illustratively, within a range of 3 meters from the matching point, select the point cloud point with the maximum search distance or its projection point in the map plane as the navigation target point.
[0053] In summary, by executing steps 44 to 46, the navigation target point can be avoided to be set near the depth dynamic region, and the problem that the point cloud on the depth dynamic region is not robust to environmental changes is solved.
[0054] As an embodiment, the method for constructing the target map in step 2 comprises: based on the reference map and the work map constructed by the robot successively performing work tasks in the preset work area, extracting the obstacle region, marking the dynamic region and performing the region expansion processing, to generate the target map. Specifically, the reference map and the work map constructed by the robot successively performing work tasks in the preset work area means that the robot firstly constructs the reference map by performing a work task in the preset work area once, and then constructs the work map by performing a new work task in the preset work area; therefore, the embodiment extracts the obstacle region based on the maps constructed by at least two work tasks to generate the obstacle map, and then marks the dynamic region in the obstacle map and performs the region expansion processing, to obtain the target map, which is used for calculating the matching score of the point cloud in the dynamic region and the non-dynamic region, and performing the steps 21 to 25 based on the matching score of the point cloud, to realize the planning of the navigation target point and the judgment of whether the robot is successfully positioned or not, and to provide the matching score and the point cloud matching state of the map and the point cloud with identifiable dynamic region. Thus, in the case of performing the repositioning matching calculation (for example, performing the point cloud matching) in the target map, it is not easy to cause the mismatch in the environment with frequently changed objects, and the universality of the map is also enhanced with the change of the picture scene.
[0055] Based on the foregoing embodiment, as shown in FIG. 3, the method for extracting the obstacle region and marking and expanding the region of the dynamic region comprises:
[0056] Step 21: extracting the obstacle region from the reference map and marking the extracted obstacle region as the first obstacle map region; extracting the obstacle region from the work map and marking the extracted obstacle region as the second obstacle map region; and then performing step 22; wherein the obstacle region is composed of the position points marked with the obstacles, and can be understood as the region occupied by the obstacles in the map. In the dynamically changing environment, the region occupied by the obstacles in the map can change in a period of time, forming the dynamic region, for example, the table and chair in the home environment are moved, the pet activity region changes, etc., which can be marked as the obstacle map region. The present application divides the obstacle map region into the first obstacle map region and the second obstacle map region due to the difference in the map type or the map construction time.
[0057] Specifically, the reference map is a map constructed by the robot when it first performs a work task in a preset work area. In some embodiments, the robot can quickly map the preset work area (which can be a one-time scan of the preset work area) or gradually advance the global cleaning work in the preset work area in certain unit areas (for example, 4 grids * 4 grids of areas) by scanning the point cloud of the surrounding environment with sensors. When the robot finishes performing the work task, the reference map is saved, and the generation timestamp corresponding to the reference map is recorded.
[0058] After the robot first performs the work task, it can perform the work task again as needed, where each time the work task is performed in the preset work area; each time the work task is performed, a global map is constructed in the preset work area. Each time the work task is performed, the preset planning path is walked through the preset work area once, and real-time position information is marked in the map.
[0059] Starting from the second time the robot performs the work task in the preset work area, a map is constructed in the preset work area each time the work task is performed, and the constructed map is saved as the work map each time the work task is performed, and the generation timestamp corresponding to the work map is recorded. The work map constructed at the nth (n is an integer greater than 1) time the work task is performed can be compared with the work map / reference map constructed at an earlier time in terms of the generation timestamp, so that the work map constructed subsequently is used to update the work map constructed previously. In particular, in order to avoid changes in the environment scene being too frequent on the same day, a date filter needs to be added to the generation timestamp corresponding to the work map. In the case where the generation timestamp corresponding to the reference map and the work map saved last time are on the same day, if it is determined that the generation timestamp corresponding to the currently saved work map and the generation timestamp corresponding to the work map saved last time are on the same day, the currently saved work map is discarded. Otherwise, step 21 can be performed to extract the obstacle area from the reference map and the currently saved work map.
[0060] Step 22, extract the overlapping region from the first obstacle map region and the second obstacle map region, then control the second obstacle map region to subtract the overlapping region, and then mark the subtracted map region as a reference obstacle map; then execute step 23; specifically, extracting the overlapping region from the first obstacle map region and the second obstacle map region is equivalent to performing an AND logical operation on the first obstacle map region and the second obstacle map region to obtain an AND result between the first obstacle map region and the second obstacle map region, and the AND result is the overlapping region. Then, the second obstacle map region is subtracted from the overlapping region, which can be understood as that each pixel value in the overlapping region is subtracted by the pixel value at the corresponding position in the second obstacle map region, and the subtracted map region is the reference obstacle map, wherein the second obstacle map region can represent obstacle information in a working map saved later relative to the reference map, and contains obstacle information that has appeared dynamic change; thus, the map region in the second obstacle map region that is excluded from the influence of the obstacle factor in the reference map is conducive to identifying the dynamic region.
[0061] Step 23, identify the dynamic region and the non-dynamic region in the reference obstacle map; then execute step 24.
[0062] Specifically, in step 23, the method of identifying the dynamic region and the non-dynamic region in the reference obstacle map comprises: identifying the dynamic position points and the position points other than the dynamic position points in the reference obstacle map, respectively.
[0063] Set the pixel value of the dynamic position point in the reference obstacle map as a first pixel value; then group the dynamic position points into a dynamic region, which can be understood as that a set or a region occupied by a plurality of dynamic position points is recorded as the dynamic region, and further, the method of dividing the dynamic region into a reference dynamic region and a deep dynamic region is referred to the aforementioned associated embodiments. 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 region in the reference obstacle map that has changed.
[0064] Set the pixel value of the position point other than the dynamic position point in the reference obstacle map as a second pixel value; then group the position point other than the dynamic position point into a non-dynamic region, which can be understood as that a region in the reference obstacle map other than the dynamic region is recorded as the non-dynamic region, and 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 has not changed.
[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, so as to realize binarization processing on the reference obstacle map.
[0066] It should be noted that the dynamic position point is used to represent a position point with unchanged coordinate information but changed marked environment information, and the marked environment information includes information about whether an obstacle occupies a position and information about whether the same obstacle is displaced, which can be obtained by comparing the corresponding positions of the reference map in step 21 and the working map in step 21. The marked environment information can also be obtained by comparing the obstacle occupation information at the same position of the working map constructed in each execution of the working task.
[0067] Specifically, when the marked environment information of the same coordinate position point in the subsequently constructed working map is different from the marked environment information of the same coordinate position point in the previously constructed working map, or when the marked environment information of the same coordinate position point in the subsequently constructed working map is different from the marked environment information of the same coordinate position point in the reference map, it is determined that the same coordinate position point is a dynamic position point.
[0068] In step 24, the dynamic area in the reference obstacle map is dilated according to a preset size template; then step 25 is executed; specifically, a 3x3 grid region is selected to traverse the identified dynamic area in the reference obstacle map, and each time the traversal is performed, a dilation operation is performed on the current covered area in the reference obstacle map according to the preset size template, until the dynamic area in the reference obstacle map is traversed, so as to realize noise reduction processing of the dynamic area in the reference obstacle map and improve the positioning and recognition accuracy of the dynamic area.
[0069] In step 25, the reference obstacle map in which the dilated dynamic area is located is marked as the target map; or a global map is first constructed, then the reference obstacle map in which the dilated dynamic area is located is saved in the global map, and then the global map in which the reference obstacle map is saved is marked as the target map; preferably, the global map can belong to a grid map / reference map / working map constructed by the robot in a preset working area during execution of a working task. Since the dilated dynamic area needs more redundant areas to accommodate, the reference obstacle map in which the dilated dynamic area is located needs to be loaded into a larger map, so the aforementioned global map is additionally constructed, so that the global map in which the reference obstacle map is saved is marked as the target map. Based on this, the target map is a map configured to execute the repositioning matching algorithm.
[0070] On the basis of the above-mentioned embodiments, at least on the basis of the constructed reference map, the robot starts to perform the work task for the second time and construct the map in the preset working area, and before the robot performs the step 21, the method further comprises the following steps:
[0071] Step 201: Determine whether the generation timestamp corresponding to the currently saved working map and the generation timestamp corresponding to the reference map are on the same date. If yes, execute step 202; otherwise, execute step 204; wherein the initial map of the currently saved working map is the map constructed when the robot performs the work task for the second time. In the case of considering the date change factor, the generation timestamp corresponding to the currently saved working map is different from the generation timestamp corresponding to the reference map, and the generation timestamp corresponding to the currently saved working map required for each subsequent execution of step 201 is later than the generation timestamp corresponding to the currently saved working map required for the last execution of step 201.
[0072] Step 202: Update the currently saved working map in step 201 to the working map saved last time, and update the generation timestamp corresponding to the currently saved working map in step 201 to the generation timestamp corresponding to the working map saved last time, so as to realize iterative updating of the working map required for determination; at the same time, perform the work task in the preset working area and construct the map, that is, start to perform the work task in the preset working area and construct the map again with respect to the constructed reference map or the working map constructed last time (the working map saved last time), update the constructed map to the currently saved working map, and record the generation timestamp corresponding to the constructed map; then execute step 203.
[0073] Step 203: Determine whether the generation timestamp corresponding to the currently saved working map in step 202 and the generation timestamp corresponding to the working map saved last time in step 202 are on the same date. If yes, execute step 202 to reconstruct and save the new working map and the generation timestamp corresponding thereto; otherwise, execute step 204.
[0074] Step 204: Update the currently saved working map to the working map in step 21; then execute step 21, and the iterative execution of steps 201 to 203 ends. If step 204 is executed by jumping from step 201, the currently saved working map is the working map in step 201; if step 204 is executed by jumping from step 202, the currently saved working map is the working map in step 202.
[0075] In some embodiments, when it is judged that the generation timestamp corresponding to the currently saved working map is in the same date as the generation timestamp corresponding to the last saved working map, the last saved working map is deleted, and the currently saved working map is updated to the last saved working map by performing step 202, and the generation timestamp corresponding to the currently saved working map is updated to the generation timestamp corresponding to the last saved working map, until it is judged that the generation timestamp corresponding to the currently saved working map is not in the same date as the generation timestamp corresponding to the last saved working map, then step 204 is performed.
[0076] As can be known from steps 201 to 204, first, it is judged whether the generation timestamp corresponding to the currently saved working map is in the same date as the generation timestamp corresponding to the reference map, yes, then the execution of the work task in the preset working area and the construction of the map are restarted, otherwise, step 21 is performed. In the process of restarting the execution of the work task in the preset working area and the construction of the map, it is continuously judged whether the generation timestamp corresponding to the currently saved working map is in the same date as the generation timestamp corresponding to the previously saved working map, yes, then the execution of the work task in the preset working area and the construction of the map are restarted, otherwise, step 21 is performed. Thus, by adding date screening, the problem of too frequent scene changes in multiple frames of maps saved on the same day is prevented, the working map required for subsequent execution of step 21 more effectively reflects the latest environmental changes, and thus the target map saved in step 25 is more universal in a dynamically changing environment.
[0077] As an embodiment, in combination with steps S1 to S3 in the method for post-inspection of a relocation result disclosed in the Chinese invention patent application No. CN202111314321.5, in step 5 of the present application, the method for inspection of the relocation result by the robot comprises: judging whether the matching score in the relocation result is greater than a first threshold value and less than a second threshold value, yes, then the target map is updated by the relocation result; then walking for a set time or a set distance, and acquiring the point cloud of the environment in the walking process, then matching the point cloud acquired in the walking process with the updated target map, and then judging whether the robot positioning succeeds or fails according to the matching result; wherein the first threshold value is less than the second threshold value. The relocation result in step 5 is different from the relocation result in step 1, the relocation result in step 5 is a new relocation result optimized by performing steps 1 to 5 in the case that the relocation result in step 1 fails, and preferably, both of them are obtained by relying on the same kind of relocation matching algorithm, then the positioning method based on the dynamic area of the robot disclosed in the present application is an optimization of the relocation matching algorithm in an environment with a dynamic area.
[0078] It should be noted that for the matching score, corresponding first and second thresholds are set. If the matching score in the repositioning result is less than or equal to the first threshold, it is directly determined that the repositioning fails. If the matching score in the repositioning result is between the first threshold and the second threshold, it is determined that the repositioning result is subjected to a post-inspection, and if the matching score in the repositioning result is greater than or equal to the second threshold, it is directly determined that the repositioning succeeds. The first threshold is less than the second threshold, and the first and second thresholds are empirical values determined through a large number of data set tests and can be set and modified according to actual conditions.
[0079] Based on the foregoing embodiment, in the step 5, the specific method for updating the target map through the repositioning result includes the following steps: determining the current position point of the robot through the repositioning result, and then setting the current position point of the robot in the target map; and loading the point cloud obtained in the process of executing the repositioning matching algorithm by the robot into the target map based on the current position point of the robot, to update the target map, which is equivalent to updating the map for which the repositioning calculation is performed. After the repositioning matching calculation is completed, a positioning result of the robot in the map (including a coordinate position) is obtained, so that the point cloud is matched to the current positioning position of the robot. After the positioning result of the robot in the map is determined, a local map coordinate system is constructed based on the positioning result, for example, a coordinate origin, to perform point cloud coordinate positioning, so that the point cloud obtained in the process of executing the repositioning matching algorithm by the robot is loaded into the target map for which the repositioning is performed, to update the target map, and then a walking path is planned on the target map.
[0080] Based on the foregoing embodiment, the method for determining whether the robot positioning succeeds or fails according to the matching result includes: the robot performs coincidence matching on the obtained point cloud data and data points at corresponding positions on the updated target map, obtains the number of point cloud points that have no corresponding data points for matching, or obtains a matching score of the point cloud points; if the number of point cloud points that have no corresponding data points for matching is greater than a set data, or the matching score of the point cloud points is less than a set threshold, it is determined that the robot fails to verify the repositioning result and that the robot positioning fails, otherwise, it is determined that the robot succeeds in verifying the repositioning result and that the robot positioning succeeds.
[0081] It should be noted that in step 5, during the process of the robot using the target map to perform the relocalization matching algorithm, the robot matches the point cloud collected with the map, and determines that a point cloud point in the point cloud is matched to a point cloud point and obtains a corresponding matching score each time a point cloud point in the point cloud is detected to coincide with a contour point of a dynamic region of a corresponding type in the target map. After all the point cloud points scanned by the robot are traversed, the matching results of the positions of different types of regions on the target map are obtained, and in some embodiments, the matching result corresponding to the position point with the highest matching score is selected as the relocalization result in step 5.
[0082] In some embodiments, in order to match the point cloud acquired during walking with the updated target map to determine whether the robot positioning is successful or the robot positioning fails according to the matching result, it can be understood that during the process of performing the relocalization matching algorithm, the robot first acquires the point cloud of the surrounding environment before walking for a set time or a set distance, then matches each point cloud point in the acquired point cloud of the surrounding environment with the data point at the corresponding position on the target map, acquires the number of point clouds without corresponding data points for matching, that is, the number of unknown points, and if the number of point clouds without corresponding data points for matching is greater than or equal to the walking threshold, it is determined that the relocalization fails; if the number of point clouds 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 process of walking for a set time or a set distance, the robot matches the acquired point cloud points with the data points at the corresponding positions on the target map, acquires the number of point clouds without corresponding data points for matching, that is, the number of unknown points, or acquires the matching scores of the point cloud points. If the number of point clouds without corresponding data points for matching is greater than the set data, or the matching score of the point cloud point is less than the set threshold, it is determined that the relocalization result verification fails, otherwise, it is determined that the relocalization result verification succeeds. In summary, the relocalization result is obtained by the relocalization matching algorithm in step 5, and the current obtained relocalization result is verified, when the verification of the relocalization result fails, it is determined that the robot positioning fails, and when the verification of the relocalization result succeeds, it is determined that the robot positioning succeeds.
[0083] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit them; although the present application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that they can still modify the technical solutions recorded in the foregoing embodiments, or make equivalent substitutions for part or all of the technical features; and these modifications or substitutions do not make the essence of the corresponding technical solutions deviate from the scope of the technical solutions of the embodiments of the present application.
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 in sequence 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
Multi-point relocation method with constraint, chip and robot
CN113204030A
Mobile robot, edge moving method thereof and computer storage medium
CN114253267A
Post-inspection method for relocation result, chip and robot
CN116086450A
Robot mapping limiting method, chip and robot
CN116339301A
Relocalization method and apparatus
WO2024066980A1
Cited By
Railway maintenance robot-oriented path planning algorithm updating method and system
CN121696996A