A method, chip, and robot for post-verification of relocation results
By performing post-verification on the relocalization results, using matching score threshold filtering and updating the map with LiDAR point cloud data, and combining RRT algorithm walking verification, the problem of long relocalization time was solved, the success rate and efficiency of relocalization were improved, the probability of map overlay was reduced, and the normal operation of the robot was ensured.
Patent Information
- Application Number
- CN202111314321.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-08
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2041-11-08
AI Technical Summary
Existing relocation technologies are time-consuming in robot autonomous navigation, affecting robot efficiency. The success of relocation is crucial for subsequent tasks, but existing methods have failed to effectively improve the accuracy and efficiency of relocation.
By performing post-verification on the relocation results, filtering using matching score thresholds, updating the map using LiDAR point cloud data, and verifying the relocation by walking using the RRT algorithm, the probability of map overlay is reduced, ensuring the accuracy of relocation.
This accelerated the relocation process, improved the success rate and efficiency of relocation, reduced the probability of image overlay, and ensured the normal execution of subsequent robot tasks.
Smart Images

Figure CN116086450B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of intelligent robot technology, and to a method, chip, and robot for post-verification of relocation results. Background Technology
[0002] Most indoor intelligent mobile robots currently possess autonomous localization and navigation capabilities. This means that during task execution, they determine their own position and orientation based on existing map data, thus achieving autonomous navigation. However, when a robot has a map but doesn't know its exact location, it needs to relocalize. Specifically, during navigation, the robot senses its surrounding environment and, combined with existing map data, checks for navigation errors. If an error is confirmed, it adjusts its navigation position based on the sensed environmental information and the available map data. Relocalization is often the first step in a robot's operation, and its success is a crucial prerequisite for its subsequent normal operation.
[0003] To improve the accuracy and efficiency of relocation, our company has applied for a multi-point constrained relocation method, chip, and robot, application number: CN202110396925.2. This technical solution improves the relocation capability of our relocation algorithm through constraints, but its relocation takes a long time, requiring the robot to perform relocation for an extended period. Summary of the Invention
[0004] To address the aforementioned technical deficiencies, this invention discloses a method, chip, and robot for post-verification of relocation results. This application accelerates the relocation process and reduces the probability of image overlay by performing post-verification of the relocation results. The specific technical solution is as follows:
[0005] A method for post-verification of relocation results includes the following steps: S1: Obtain the relocation result after relocation calculation. If the matching score in the relocation result is greater than a first threshold and less than a second threshold, proceed to step S2; S2: Update the map used for relocation calculation based on the relocation result, then walk for a set time or a set distance, and acquire point cloud data of the environment during the walking process, proceed to step S3; S3: Match the point cloud data acquired during the walking process with the updated map, and then determine whether the relocation was successful or failed based on the matching result; wherein the first threshold is less than the second threshold.
[0006] Furthermore, in step S1, if the matching score in the relocation result is less than or equal to the first threshold, the relocation is determined to have failed; if the matching score in the relocation result is greater than or equal to the second threshold, the relocation is determined to have succeeded.
[0007] Further, in step S2, updating the map used for relocation calculation based on the relocation result specifically includes the following steps: determining the current position of the robot based on the relocation result, then setting the current position of the robot to the map used for relocation calculation, and then loading the point cloud data obtained during the robot relocation calculation process into the map used for relocation calculation based on the current position of the robot, thereby updating the map used for relocation calculation.
[0008] Further, in step S2, before the robot walks for a set time or a set distance, it first acquires point cloud data of the surrounding environment, and then matches the acquired point cloud data of the surrounding environment with the corresponding data points on the updated map. It then obtains the number of point cloud data that do not have corresponding data points for matching. If the number of point cloud data that do not have corresponding data points for matching is greater than or equal to the walking threshold, it is determined that the relocalization has failed; if the number of point cloud data that do not have corresponding data points for matching is less than the walking threshold, it walks for a set time or a set distance.
[0009] Furthermore, in step S2, when the robot walks for a set time or a set distance, the robot uses the RRT algorithm to walk, specifically including the following steps: taking the current position as the root node, the robot generates a target node, and then adds child nodes through random sampling to generate a random tree with the target node as a child node; planning a walking path from the root node to the target node on the random tree, and then taking the root node as the starting point, walking to the target node through the walking path, and acquiring point cloud data of the environment during the walking process; or taking the root node as the starting point, walking on the walking path for a set time, and acquiring point cloud data of the environment during the walking process.
[0010] Furthermore, the robot generates a target node by the following steps: the robot calculates the walking distance within a set time based on its walking speed, then draws a circle with the current position as the center and the walking distance as the radius, and randomly selects a point on the circle as the target node; or draws a circle with the current position as the center and the set distance as the radius, and randomly selects a point on the circle as the target node.
[0011] Furthermore, in step S2, when the robot walks for a set time or a set distance, the robot walks towards the center of the point cloud, which specifically includes the following steps: the robot first uses a lidar to scan the surrounding environment, and then finds the center point of the point cloud acquired by the lidar as the center of the point cloud, wherein the coordinates of the center point of the point cloud are the average value of the coordinates of the point cloud acquired by the lidar; the robot walks with the center of the point cloud as the destination, walks for a set time or a set distance, and acquires the point cloud data of the environment during the walking process.
[0012] Furthermore, in step S3, matching the point cloud data acquired during the walking process with the updated map includes the following steps: the robot matches the acquired point cloud data with the corresponding data points on the updated map to obtain the number of point cloud data that do not have corresponding data points for matching, or obtains the matching score of the point cloud data.
[0013] Furthermore, if the number of point cloud data points that cannot be matched with corresponding data points is greater than the set data, or the matching score of the point cloud data is less than the set threshold, then the relocation is judged to have failed; otherwise, the relocation is judged to have succeeded.
[0014] A chip for storing a program configured to perform the above-described method for post-verification of relocation results.
[0015] A robot is equipped with a main control chip, the main control chip being the aforementioned chip, and the robot is equipped with a lidar for acquiring point cloud data.
[0016] Compared with existing technologies, the technical solution of this application determines whether the relocation is successful, unsuccessful, or requires a relocation test by comparing the matching score in the relocation result after relocation calculation with the second threshold and the first threshold. Then, the relocation result is tested to further determine whether the relocation is successful or unsuccessful, thereby speeding up the relocation process and reducing the probability of image overlay. Attached Figure Description
[0017] Figure 1 This is a flowchart of a method for post-verification of relocation results according to an embodiment of the present invention. Detailed Implementation
[0018] The specific embodiments of the present invention will be further described below with reference to the accompanying drawings. It should be noted that the following detailed descriptions are exemplary and intended to provide further explanation of this application. Unless otherwise specified, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application pertains.
[0019] like Figure 1 As shown, a method for post-verification of relocation results needs to accelerate the relocation time while ensuring the success rate. Therefore, to improve the success rate and accelerate the relocation time without changing the matching calculation method, other methods are necessary to ensure relocation accuracy. After the relocation calculation, lazy decision-making is a relatively intuitive method. Lazy decision-making is a method used to determine the correctness of a calculation result when we are not entirely certain about its accuracy. This method includes the following steps:
[0020] In step S1, the robot obtains the relocalization result after relocalization calculation. If the matching score in the relocalization result is greater than the first threshold and less than the second threshold, then proceed to step S2. The robot is equipped with a LiDAR for real-time environmental scanning, and it has a pre-stored global LiDAR grid map. During relocalization, the robot uses the point cloud map scanned in real-time by the LiDAR to traverse the pre-stored global LiDAR grid map. This traversal is a map matching process. Each match yields a matching result containing three parameters: matching score, matching area, and matching area ratio. The matching score is the percentage of an obstacle that a point on the point cloud map 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. Only the matching score is needed for initial screening in the post-test, making the calculation simple. 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 degree is selected as the relocalization result. 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 a post-verification of 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 that have been determined through testing on a large number of datasets and can be set and modified according to the actual situation.
[0021] In step S2, the robot updates the map used for relocalization calculation based on the relocalization result, then walks for a set time or distance, acquiring point cloud data of the environment during the walking process, and proceeds to step S3. Updating the map used for relocalization calculation based on the relocalization result specifically includes the following steps: determining the current position of the robot based on the relocalization result, then setting the current robot position in the map used for relocalization calculation, and then loading the point cloud data acquired during the robot's relocalization calculation into the map used for relocalization calculation based on the current robot position, thus updating the map used for relocalization calculation. Once the relocalization matching calculation is complete, a result indicating where the robot should currently be on the map is obtained; in other words, the robot's current position is matched based on this frame of point cloud data. After determining the robot's location on the map, the robot's coordinates are set, and then, based on this location, the point cloud data acquired during the robot's relocalization calculation is loaded into the global laser grid map used for relocalization, updating the global laser grid map, and then the robot walks on this global laser grid map. Before walking for a set time or distance, the robot first acquires point cloud data of the surrounding environment. Then, it matches this acquired point cloud data with corresponding data points on the updated map. The number of point cloud data points without matching data points (i.e., the number of unknown points) is recorded. If the number of unmatched point cloud data points is greater than or equal to a walking threshold, relocalization is considered a failure. If the number is less than the walking threshold, the robot continues walking for the set time or distance. A large number of unmatched unknown points on the global laser grid map indicate that the robot may have matched outside the map; this condition is used to eliminate this possibility. If the robot is outside the map, it means its position has been misjudged, all cleaning functions will malfunction, and relocalization will be directly considered a failure without further verification. When walking for the set time or distance, the robot can use the RRT algorithm to walk, move towards the center of the point cloud, walk a straight line, or wander randomly.
[0022] As one embodiment, the path planning algorithm based on rapidly exploring random trees (RRT) avoids spatial modeling by performing collision detection on sampled points in the state space, effectively solving path planning problems in high-dimensional spaces and with complex constraints. This method is characterized by its ability to quickly and effectively search high-dimensional spaces. By using random sampled points in the state space, the search is directed to blank areas, thus finding a planned path from the starting point to the target point. It is suitable for solving path planning problems for multi-degree-of-freedom robots in complex and dynamic environments. Similar to Probabilistic Path Detection (PRM), this method is probabilistically complete but not optimal. The robot uses the RRT algorithm to walk, specifically including the following steps: Using the current position as the root node, the robot generates a target node, and then adds child nodes through random sampling to generate a random tree with the target node as a child node; a walking path from the root node to the target node is planned on the random tree; then, starting from the root node, the robot walks along the path to the target node, acquiring point cloud data of the environment during the process; or, starting from the root node, the robot walks along the path for a set time, acquiring point cloud data of the environment during the process, without needing to move to the target node. The robot generates a target node through the following steps: The robot calculates the distance it will travel within a set time based on its walking speed. Then, it draws a circle with its current position as the center and the travel distance as the radius, and randomly selects a point on this circle as the target node; alternatively, it draws a circle with its current position as the center and a set distance as the radius, and randomly selects a point on this circle as the target node. Because the robot only needs to travel a set time and a set distance, to improve computational efficiency and reduce the amount of data to be processed, the target node does not need to be too far from the robot; it can be selected either inside or outside the circle.
[0023] In one embodiment, the robot's journey to the center of the point cloud involves the following steps: First, the robot scans the surrounding environment using a LiDAR scanner. Then, it identifies the center point of the point cloud detected by the LiDAR. The coordinates of the center point are the average of the coordinates of the point cloud obtained by the LiDAR. The LiDAR-acquired point cloud includes positional information. Alternatively, the LiDAR-acquired point cloud can be structured into a polygon, and the center or centroid of the polygon can be calculated. This center or centroid is then used as the center of the point cloud. Generally, the center of the point cloud is located in a relatively open area, which increases the probability of successful robot relocalization. The robot travels towards the point cloud center, with a set travel time or distance, acquiring point cloud data of the environment during the journey. Alternatively, other points in open areas can be used as the destination. For example, during the robot's journey to the point cloud center, a Hough transform can be used to extract straight lines, and the distance between the robot and the line can be calculated to see if it exceeds a preset threshold. If the distance exceeds the preset threshold, it indicates that the robot has moved away from walls or obstacles and is in an open area.
[0024] In step S3, the robot matches the point cloud data acquired during its movement with the updated map, and then determines whether the relocation was successful or failed based on the matching result. Matching the point cloud data acquired during movement with the updated map includes the following steps: the robot matches the acquired point cloud data with corresponding data points on the updated map, obtaining the number of point cloud data points without corresponding matching points (i.e., the number of unknown points), or obtaining the matching score of the point cloud data (i.e., the percentage of overlap with the updated obstacle when the point cloud data acquired during movement falls on the corresponding matching position on the global laser grid map). If the number of point cloud data points without corresponding matching points is greater than a set threshold, or the matching score of the point cloud data is less than a set threshold, the relocation is considered a failure; otherwise, the relocation is considered successful.
[0025] A chip for storing a program configured to perform the above-described method for post-verification of relocation results.
[0026] A robot is equipped with a main control chip, the main control chip being the aforementioned chip, and the robot is equipped with a lidar for acquiring point cloud data.
[0027] Compared with existing technologies, the technical solution of this application determines whether the relocation is successful, unsuccessful, or requires a relocation test by comparing the matching score in the relocation result after relocation calculation with the second threshold and the first threshold. Then, the relocation result is tested to determine whether the relocation is successful or unsuccessful in one step, thereby speeding up the relocation process and reducing the probability of image overlay.
[0028] The above description is merely a preferred embodiment of the present invention and is not intended to limit the invention in any other way. Any person skilled in the art may make changes or modifications to the above-disclosed technical content to create equivalent embodiments. However, any simple modifications, equivalent changes, and modifications made to the above embodiments based on the technical essence of the present invention without departing from the scope of the present invention shall still fall within the protection scope of the present invention.
Claims
1. A method for post-testing relocation results, characterized in that, The method includes the following steps: S1: Obtain the relocation result after relocation calculation. If the matching score in the relocation result is greater than the first threshold and less than the second threshold, proceed to step S2. S2: Update the map used for relocation calculation based on the relocation results, then walk for a set time or distance, and acquire point cloud data of the environment during the walking process, then proceed to step S3; S3: Match the point cloud data acquired during the walking process with the updated map, and then determine whether the relocation was successful or failed based on the matching result; Wherein, the first threshold is less than the second threshold; In step S2, before the robot walks for a set time or a set distance, it first acquires point cloud data of the surrounding environment. Then, it matches the acquired point cloud data of the surrounding environment with the corresponding data points on the updated map. It then obtains the number of point cloud data points that do not have corresponding data points for matching. If the number of point cloud data points that do not have corresponding data points for matching is greater than or equal to the walking threshold, it is determined that the relocalization has failed. If the number of point cloud data points that do not have corresponding data points for matching is less than the walking threshold, it walks for the set time or a set distance.
2. The method for post-verification of relocation results according to claim 1, characterized in that, In step S1, if the matching score in the relocation result is less than or equal to the first threshold, the relocation is determined to have failed; if the matching score in the relocation result is greater than or equal to the second threshold, the relocation is determined to have succeeded.
3. The method for post-verification of relocation results according to claim 1, characterized in that, In step S2, updating the map used for relocation calculation based on the relocation results specifically includes the following steps: The current position of the robot is determined by the relocation result, and then the current position of the robot is set in the map where the relocation calculation was performed; Based on the current position of the robot, the point cloud data obtained during the robot relocalization calculation is loaded into the map for relocalization calculation, and the map for relocalization calculation is updated.
4. The method for post-verification of relocation results according to claim 1, characterized in that, In step S2, when the robot walks for a set time or a set distance, the robot uses the RRT algorithm to walk, which specifically includes the following steps: Using the current position as the root node, the robot generates a target node, and then adds child nodes through random sampling to generate a random tree with the target node as a child node; Plan a walking path from the root node to the target node on a random tree, then take the root node as the starting point and walk along the path to the target node, acquiring point cloud data of the environment during the walking process; or take the root node as the starting point, walk along the path for a set time, and acquire point cloud data of the environment during the walking process.
5. The method for post-verification of relocation results according to claim 4, characterized in that, The robot generates a target node through the following steps: The robot calculates the distance it will travel within a set time based on its walking speed. Then, it draws a circle with the current position as the center and the travel distance as the radius, and randomly selects a point on the circle as the target node; or it draws a circle with the current position as the center and the set distance as the radius, and randomly selects a point on the circle as the target node.
6. The method for post-verification of relocation results according to claim 1, characterized in that, In step S2, when the robot has walked for a set time or distance, the robot will walk towards the center of the point cloud, specifically including the following steps: The robot first uses a lidar to scan the surrounding environment, and then finds the center point of the point cloud acquired by the lidar as the center of the point cloud. The coordinates of the center point of the point cloud are the average coordinates of the point cloud acquired by the lidar. The robot walks with the center of the point cloud as its destination, with a set walking time or distance, and acquires point cloud data of the environment during the walking process.
7. The method for post-verification of relocation results according to claim 1, characterized in that, In step S3, matching the point cloud data acquired during the walking process with the updated map includes the following steps: The robot will match the acquired point cloud data with the corresponding data points on the updated map to obtain the number of point cloud data that do not have corresponding data points for matching, or obtain the matching score of the point cloud data.
8. The method for post-verification of relocation results according to claim 7, characterized in that, If the number of point cloud data points that cannot be matched with corresponding data points is greater than the set data, or if the matching score of the point cloud data is less than the set threshold, then the relocation is judged to have failed; otherwise, the relocation is judged to have succeeded.
9. A chip for storing a program, characterized in that, The program is configured to perform a method for post-verification of relocation results as described in any one of claims 1 to 8.
10. A robot equipped with a main control chip, characterized in that, The main control chip is the chip described in claim 9, and the robot is equipped with a lidar for acquiring point cloud data.
Citation Information
Patent Citations
Navigation map updating method and device, readable storage medium and robot
CN111024100A
Multi-point relocation method with constraint, chip and robot
CN113204030A