A robot self-positioning accuracy evaluation method based on lidar
By loading lidar on the robot, combining natural landmarks and SLAM algorithms, the high cost and environmental specificity of positioning accuracy evaluation of robot SLAM algorithms in the prior art is solved, and high-precision self-positioning evaluation is achieved.
Patent Information
- Application Number
- CN202211058259.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-08-31
- Publication Date
- 2025-08-12
- Estimated Expiration
- 2042-08-31
AI Technical Summary
In the prior art, in the positioning accuracy evaluation of robot SLAM algorithms, methods based on benchmark data sets, motion capture systems and artificial landmarks have problems such as high cost, environmental specificity or pollution-prone results, and it is difficult to achieve high-precision and simple self-positioning evaluation.
Mobile robots loaded with lidar collect data in unknown environments, use point cloud feature processing and SLAM algorithms, and combine natural landmarks to obtain local displacement vectors and calculate statistical errors to achieve robot self-positioning accuracy evaluation.
It realizes high-precision self-positioning evaluation of the same order of magnitude as the automatic capture system, simplifies the evaluation process, reduces costs, and improves the robustness and accuracy of the evaluation.
Smart Images

Figure CN115471530B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of robot algorithm positioning accuracy performance evaluation, and more specifically, to a robot self-positioning accuracy evaluation method based on laser radar. Background Art
[0002] Evaluating the positioning accuracy of robot SLAM algorithms is a key topic in robotics. Robots are increasingly being used in healthcare, education, industrial manufacturing, and logistics and warehousing. SLAM algorithms are typically evaluated with the help of benchmark datasets, artificial landmarks, and expensive equipment such as motion capture systems. However, dataset-based approaches are context-specific. The use of motion capture systems limits spatial coverage and affordability, while artificial landmarks pose challenges such as contamination and the need for large deployments. Compared to artificial landmarks, natural objects have natural landmarks. By repeatedly visiting the same location two or more times, high-precision local displacement metrics can be obtained based on all observations collected from these repeated visits. These local displacement metrics can then be used to evaluate the global error of a SLAM positioning algorithm's trajectory. This error can be calculated by parameterizing a statistical model, enabling the robot to accurately assess its self-localization during motion. However, obtaining high-precision local displacement metrics is not easy.
[0003] In the existing state-of-the-art for robot navigation, there are three performance evaluation methods: benchmark datasets, motion capture systems, and artificial landmarks. The dataset approach typically uses a suite of elaborate sensors (GPS, IMU, LiDAR, and cameras) and extensive offline processing to create realistic trajectory poses. While convenient and suitable for performance comparisons of different algorithms, the dataset approach suffers from the fact that the evaluation results are environment-specific. Motion capture systems are the most accurate but also the most expensive approach, capable of determining poses with millimeter accuracy. While they can provide accurate ground truth poses that do not drift over time, the object of interest must be within the field of view of a sufficient number of cameras, covering a limited area, and are relatively expensive. The artificial landmark approach offers a relatively inexpensive and simple evaluation method. However, the drawback of this approach is that artificial landmarks require a large number of placements in the environment, are susceptible to contamination and occlusion, and cannot provide confidence in the robot's relative pose. Natural landmarks exist in nature, and replacing artificial landmarks with natural landmarks allows for robust and natural self-localization accuracy assessment.
[0004] To this end, considering the above requirements and the defects of the existing technology such as high cost and evaluation results being specific to the environment, this application proposes a robot self-positioning accuracy evaluation method based on lidar. Summary of the Invention
[0005] The present invention provides a method for evaluating the robot's self-positioning accuracy based on laser radar. By leveraging the high precision of laser radar and combining it with natural landmarks, it can achieve the same order of magnitude of accuracy as an automatic capture system, and easily and reliably implement the robot's self-positioning accuracy evaluation.
[0006] The primary purpose of the present invention is to solve the above technical problems, and the technical solutions of the present invention are as follows:
[0007] A first aspect of the present invention provides a method for evaluating the self-positioning accuracy of a robot based on a laser radar, the method comprising the following steps:
[0008] S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment.
[0009] S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing.
[0010] S3. Convert the feature-processed point cloud information into a global descriptor and use a search algorithm to find a set of sample pairs that revisit the same location.
[0011] S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained by using the point cloud feature method for the sample pair point cloud. The maximum clique search algorithm is applied to search and obtain the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated by the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are used as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and re-registered. If this process is repeated a set number of times and it is still an incorrect registration, the collection of the sample pair data is abandoned.
[0012] S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
[0013] Furthermore, the mobile robot in step S1 is equipped with: 2D and 3D lidar, visual sensor navigator; when collecting data in an unknown environment, the mobile robot adopts random walk or fixed-point navigation to move and collect data, and records it in ROS package format; the methods for finding repeatedly visited locations include: global descriptor method, ScanContext algorithm, Intensity Scan Context algorithm, and deep learning algorithm.
[0014] Among them, the sensors commonly used to obtain point clouds are lidar and RGBD cameras. The reason for using 2D and 3D lidar is that lidar has a wide range of environmental adaptability and high precision, which is the guarantee for obtaining high-precision local displacement measurement.
[0015] Furthermore, when the mobile robot collects data in an unknown environment, the mobile robot needs to visit the same location at least twice to ensure the independence of the sample data.
[0016] Furthermore, the collected data includes laser data and image data, and the mobile robot performs linear and steering movements in the environment and performs automatic obstacle avoidance and random search.
[0017] Furthermore, the feature processing of the recorded data in the ROS package format described in step S2 is specifically as follows: extracting the recorded data from the ROS package, calculating the feature matrix of the point neighborhood area for each frame of point cloud data in the recorded data, extracting the eigenvalues of the feature matrix, extracting the maximum point set of approximate features in multiple neighborhoods, or directly downsampling the recorded data, evenly dividing it into several parts according to the laser scanning beam, retaining points with a current index less than a set threshold as corner points, retaining points with a surface index less than a set threshold as surface points, eliminating unstable points caused by motion distortion, and obtaining point cloud information after feature processing.
[0018] Among them, the point cloud feature processing method is used to obtain stable and reliable feature points.
[0019] Furthermore, the step S3 is specifically as follows: using the Scan Context algorithm to describe each frame of point cloud data, obtaining areas with repeated visits less than a certain threshold that meet the set conditions through search, and merging five or more repeatedly visited areas according to the first visit timestamp to obtain a sample pair set.
[0020] Furthermore, the process of collecting the local displacement vector of the sample pair data in step S4 is as follows:
[0021] S41, using a point cloud feature extraction method as a feature extraction model, using each frame of point cloud data after feature processing as input data of the feature extraction model, and performing preliminary feature extraction;
[0022] S42, finding coarse registration point pairs by performing a nearest neighbor search on the feature-processed point cloud information; further processing the obtained coarse registration point pairs using a maximum clique search method, extracting the maximum clique registration pairs with geometric information relationships, and generating an initialization registration matrix;
[0023] S43. Use the point cloud registration algorithm for further registration, optimize based on the initialization registration matrix, obtain the precise registration relationship between the two groups of point clouds, calculate the average distance of the inner point pairs, and if it is greater than the set threshold, match again or choose to give up the acquisition. Repeat this process three times. If it is still an incorrect registration, give up collecting the sample pair data to improve the robustness and accuracy of the local translation vector.
[0024] For each point in the source point cloud, the closest corresponding point is found in the target point cloud to form an initial pair of corresponding points. Not all correspondences in the initial set of corresponding point pairs are correct, and incorrect correspondences can affect the final registration result. The ICP algorithm is used to calculate the transformation matrix between the two point clouds, minimizing the mean squared error between the point sets. The corresponding point pairs that satisfy this transformation matrix are considered inliers. This process is repeated until convergence is achieved, yielding the average distance between the inliers in the two point clouds.
[0025] Furthermore, the point cloud feature extraction method is FPFH and 3dsmooth method, and the point cloud registration algorithm is ICP series algorithm.
[0026] Furthermore, for each sample pair, the FPFH algorithm is used to extract features from the target point cloud and the source point cloud, and a coarse registration pair is obtained through nearest neighbor search. The distance between two points in the same frame point cloud is used to obtain the geometric property that the length remains unchanged after conversion to another frame point cloud, and the maximum clique algorithm is used to obtain the maximum registration pair and the preliminary transformation matrix. Finally, the ICP algorithm is used to further align the maximum registration pair to obtain an accurate transformation matrix.
[0027] Among them, under this transformation matrix, if the average value of the distance between the inliers is greater than a certain threshold, the registration is repeated, and the sample pair is abandoned after repeating this process three times.
[0028] Furthermore, the process of collecting the estimated trajectory vector in step S5 is specifically as follows:
[0029] S51, running the SLAM algorithm on the recorded data in the ROS package format and saving the estimated trajectory of the algorithm;
[0030] S52. Define a local translation vector as V x , find the two poses of the SLAM algorithm estimated trajectory with the corresponding timestamp, and define the translation vector between them as V y , forming an offline registration pair (V x ,V y );
[0031] S53, repeat steps S51 and S52 until all offline registration pairs are collected; randomly select several pairs from the set of all offline registration pairs, use the GLO algorithm to estimate the parameter σ of the sample set, and use it to calculate the final error σ'.
[0032] Among them, this method can be used to evaluate different types of SLAM algorithms, and can help test and select the best parameters suitable for a certain SLAM algorithm, effectively reducing the amount of parameters required for calculation and the consumption of computing resources.
[0033] A second aspect of the present invention provides a laser radar-based robot self-positioning accuracy assessment system, comprising a memory and a processor, wherein the memory includes a laser radar-based robot self-positioning accuracy assessment program, and when the laser radar-based robot self-positioning accuracy assessment program is executed by the processor, the following steps are implemented:
[0034] S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment.
[0035] S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing.
[0036] S3. Convert the feature-processed point cloud information into a global descriptor and use a search algorithm to find a set of sample pairs that revisit the same location.
[0037] S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained by using the point cloud feature method for the sample pair point cloud. The maximum clique search algorithm is applied to search and obtain the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated by the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are used as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and re-registered. If this process is repeated a set number of times and it is still an incorrect registration, the collection of the sample pair data is abandoned.
[0038] S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
[0039] Compared with the prior art, the beneficial effects of the technical solution of the present invention are:
[0040] The present invention provides a method for evaluating the accuracy of robot self-positioning based on laser radar. With the help of a mobile robot equipped with laser radar, high-precision local displacement measurement is obtained. Combined with natural landmarks, the accuracy of the SLAM algorithm can be evaluated with the same order of magnitude as that of an automatic capture system. BRIEF DESCRIPTION OF THE DRAWINGS
[0041] Figure 1 This is a schematic diagram of a robot self-positioning accuracy evaluation method based on laser radar according to the present invention.
[0042] Figure 2 The figure is a flow chart of a method for evaluating the self-positioning accuracy of a robot based on a laser radar according to the present invention.
[0043] Figure 3 This is a schematic diagram of a robot self-positioning accuracy evaluation system based on laser radar in the present invention. DETAILED DESCRIPTION
[0044] In order to more clearly understand the above-mentioned objects, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that, in the absence of conflict, the embodiments of the present application and the features therein can be combined with each other.
[0045] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the scope of protection of the present invention is not limited to the specific embodiments disclosed below.
[0046] Example 1
[0047] like Figure 1 As shown, the present invention provides a method for evaluating the robot's self-positioning accuracy based on a laser radar, and the method comprises the following steps:
[0048] S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment.
[0049] S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing.
[0050] S3. Convert the feature-processed point cloud information into a global descriptor and use a search algorithm to find a set of sample pairs that revisit the same location.
[0051] S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained by using the point cloud feature method for the sample pair point cloud. The maximum clique search algorithm is applied to search and obtain the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated by the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are used as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and re-registered. If this process is repeated a set number of times and it is still an incorrect registration, the collection of the sample pair data is abandoned.
[0052] S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
[0053] Furthermore, the mobile robot in step S1 is equipped with: 2D and 3D lidar, visual sensor navigator; when collecting data in an unknown environment, the mobile robot adopts random walk or fixed-point navigation to move and collect data, and records it in ROS package format; the methods for finding repeatedly visited locations include: global descriptor method, ScanContext algorithm, Intensity Scan Context algorithm, and deep learning algorithm.
[0054] Among them, the sensors commonly used to obtain point clouds are lidar and RGBD cameras. The reason for using 2D and 3D lidar is that lidar has a wide range of environmental adaptability and high precision, which is the guarantee for obtaining high-precision local displacement measurement.
[0055] In a specific embodiment, the sensor device carried by the mobile platform or mobile robot needs to include at least one lidar sensor, and the sensor is installed according to the algorithm to be evaluated.
[0056] Furthermore, when the mobile robot collects data in an unknown environment, the mobile robot needs to visit the same location at least twice to ensure the independence of the sample data.
[0057] In a specific embodiment, the method for finding repeatedly visited locations is not limited to the global descriptor method or the Scan Context algorithm. The Intensity Scan Context algorithm may be used, or other methods for finding loop detection, such as deep learning algorithms, may be used.
[0058] Furthermore, the collected data includes laser data and image data, and the mobile robot performs linear and steering movements in the environment and performs automatic obstacle avoidance and random search.
[0059] Furthermore, the feature processing of the recorded data in the ROS package format described in step S2 is specifically as follows: extracting the recorded data from the ROS package, calculating the feature matrix of the point neighborhood area for each frame of point cloud data in the recorded data, extracting the eigenvalues of the feature matrix, extracting the maximum point set of approximate features in multiple neighborhoods, or directly downsampling the recorded data, evenly dividing it into several parts according to the laser scanning beam, retaining points with a current index less than a set threshold as corner points, retaining points with a surface index less than a set threshold as surface points, eliminating unstable points caused by motion distortion, and obtaining point cloud information after feature processing.
[0060] Among them, the point cloud feature processing method is used to obtain stable and reliable feature points.
[0061] Furthermore, the step S3 is specifically as follows: using the Scan Context algorithm to describe each frame of point cloud data, obtaining areas with repeated visits less than a certain threshold that meet the set conditions through search, and merging five or more repeatedly visited areas according to the first visit timestamp to obtain a sample pair set.
[0062] Furthermore, the process of collecting the local displacement vector of the sample pair data in step S4 is as follows:
[0063] S41, using a point cloud feature extraction method as a feature extraction model, using each frame of point cloud data after feature processing as input data of the feature extraction model, and performing preliminary feature extraction;
[0064] S42, finding coarse registration point pairs by performing a nearest neighbor search on the feature-processed point cloud information; further processing the obtained coarse registration point pairs using a maximum clique search method, extracting the maximum clique registration pairs with geometric information relationships, and generating an initialization registration matrix;
[0065] S43. Use the point cloud registration algorithm for further registration, optimize based on the initialization registration matrix, obtain the precise registration relationship between the two groups of point clouds, calculate the average distance of the inner point pairs, and if it is greater than the set threshold, match again or choose to give up the acquisition. Repeat this process three times. If it is still an incorrect registration, give up collecting the sample pair data to improve the robustness and accuracy of the local translation vector.
[0066] Furthermore, the point cloud feature extraction method is FPFH and 3dsmooth method, and the point cloud registration algorithm is ICP series algorithm.
[0067] Furthermore, for each sample pair, the FPFH algorithm is used to extract features from the target point cloud and the source point cloud, and a coarse registration pair is obtained through nearest neighbor search. The distance between two points in the same frame point cloud is used to obtain the geometric property that the length remains unchanged after conversion to another frame point cloud, and the maximum clique algorithm is used to obtain the maximum registration pair and the preliminary transformation matrix. Finally, the ICP algorithm is used to further align the maximum registration pair to obtain an accurate transformation matrix.
[0068] Among them, under this transformation matrix, if the average value of the distance between the inliers is greater than a certain threshold, the registration is repeated, and the sample pair is abandoned after repeating this process three times.
[0069] Furthermore, the process of collecting the estimated trajectory vector in step S5 is specifically as follows:
[0070] S51, running the SLAM algorithm on the recorded data in the ROS package format and saving the estimated trajectory of the algorithm;
[0071] S52. Define a local translation vector as V x , find the two poses of the SLAM algorithm estimated trajectory corresponding to the timestamp, and define the translation vector between them as V y , forming an offline registration pair (V x ,V y );
[0072] S53, repeat steps S51 and S52 until all offline registration pairs are collected; randomly select several pairs from the set of all offline registration pairs, use the GLO algorithm to estimate the parameter σ of the sample set, and use it to calculate the final error σ'.
[0073] Among them, this method can be used to evaluate different types of SLAM algorithms, and can help test and select the best parameters suitable for a certain SLAM algorithm, effectively reducing the amount of parameters required for calculation and the consumption of computing resources.
[0074] Example 2
[0075] Based on the above embodiment 1, combined Figure 2 ,This embodiment describes in detail the evaluation process of the LOAM algorithm in the SLAM algorithm.
[0076] In a specific embodiment, the LOAM algorithm is run offline using the ROS package, and the estimated trajectory of the algorithm is saved, and a local translation vector is defined as V x , find the two postures of the LOAM trajectory with the corresponding timestamps, and define the translation vector between them as V y , forming an offline registration pair (V x ,V yRepeat the above process until all offline registration pairs are collected. Randomly select 50,000 pairs from the set of all pairs and use the GLO algorithm to calculate the average value σ, which is used to calculate the final error σ'.
[0077] Example 3
[0078] like Figure 3 As shown, the present invention also provides a laser radar-based robot self-positioning accuracy assessment system, comprising a memory and a processor, wherein the memory comprises a laser radar-based robot self-positioning accuracy assessment program, and when the laser radar-based robot self-positioning accuracy assessment program is executed by the processor, the following steps are implemented:
[0079] S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment.
[0080] S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing.
[0081] S3. Convert the feature-processed point cloud information into a global descriptor and use a search algorithm to find a set of sample pairs that revisit the same location.
[0082] S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained by using the point cloud feature method for the sample pair point cloud. The maximum clique search algorithm is applied to search and obtain the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated by the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are used as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and re-registered. If this process is repeated a set number of times and it is still an incorrect registration, the collection of the sample pair data is abandoned.
[0083] S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
[0084] Furthermore, the mobile robot in step S1 is provided with: 2D and 3D laser radars, and visual sensor navigators; when collecting data in an unknown environment, the mobile robot moves and collects data in a random walk or fixed-point navigation manner, and records the data in ROS package format.
[0085] Among them, the sensors commonly used to obtain point clouds are lidar and RGBD cameras. The reason for using 2D and 3D lidar is that lidar has a wide range of environmental adaptability and high precision, which is the guarantee for obtaining high-precision local displacement measurement.
[0086] Furthermore, when the mobile robot collects data in an unknown environment, the mobile robot needs to visit the same location at least twice to ensure the independence of the sample data.
[0087] Furthermore, the collected data includes laser data and image data, and the mobile robot performs linear and steering movements in the environment and performs automatic obstacle avoidance and random search.
[0088] Furthermore, the feature processing of the recorded data in the ROS package format described in step S2 is specifically as follows: extracting the recorded data from the ROS package, calculating the feature matrix of the point neighborhood area for each frame of point cloud data in the recorded data, extracting the eigenvalues of the feature matrix, extracting the maximum point set of approximate features in multiple neighborhoods, or directly downsampling the recorded data, evenly dividing it into several parts according to the laser scanning beam, retaining points with a current index less than a set threshold as corner points, retaining points with a surface index less than a set threshold as surface points, eliminating unstable points caused by motion distortion, and obtaining point cloud information after feature processing.
[0089] Among them, the point cloud feature processing method is used to obtain stable and reliable feature points.
[0090] Furthermore, the step S3 is specifically as follows: using the Scan Context algorithm to describe each frame of point cloud data, obtaining areas with repeated visits less than a certain threshold that meet the set conditions through search, and merging five or more repeatedly visited areas according to the first visit timestamp to obtain a sample pair set.
[0091] Furthermore, the process of collecting the local displacement vector of the sample pair data in step S4 is as follows:
[0092] S41, using a point cloud feature extraction method as a feature extraction model, using each frame of point cloud data after feature processing as input data of the feature extraction model, and performing preliminary feature extraction;
[0093] S42, finding coarse registration point pairs by performing a nearest neighbor search on the feature-processed point cloud information; further processing the obtained coarse registration point pairs using a maximum clique search method, extracting the maximum clique registration pairs with geometric information relationships, and generating an initialization registration matrix;
[0094] S43. Use the point cloud registration algorithm for further registration, optimize based on the initialization registration matrix, obtain the precise registration relationship between the two groups of point clouds, calculate the average distance of the inner point pairs, and if it is greater than the set threshold, match again or choose to give up the acquisition. Repeat this process three times. If it is still an incorrect registration, give up collecting the sample pair data to improve the robustness and accuracy of the local translation vector.
[0095] Furthermore, the point cloud feature extraction method is FPFH and 3dsmooth method, and the point cloud registration algorithm is ICP series algorithm.
[0096] Furthermore, for each sample pair, the FPFH algorithm is used to extract features from the target point cloud and the source point cloud, and a coarse registration pair is obtained through nearest neighbor search. The distance between two points in the same frame point cloud is used to obtain the geometric property that the length remains unchanged after conversion to another frame point cloud, and the maximum clique algorithm is used to obtain the maximum registration pair and the preliminary transformation matrix. Finally, the ICP algorithm is used to further align the maximum registration pair to obtain an accurate transformation matrix.
[0097] Among them, under this transformation matrix, if the average value of the distance between the inliers is greater than a certain threshold, the registration is repeated, and the sample pair is abandoned after repeating this process three times.
[0098] Furthermore, the process of collecting the estimated trajectory vector in step S5 is specifically as follows:
[0099] S51, running the SLAM algorithm on the recorded data in the ROS package format and saving the estimated trajectory of the algorithm;
[0100] S52. Define a local translation vector as V x , find the two poses of the SLAM algorithm estimated trajectory with the corresponding timestamp, and define the translation vector between them as V y , forming an offline registration pair (V x ,V y );
[0101] S53, repeat steps S51 and S52 until all offline registration pairs are collected; randomly select several pairs from the set of all offline registration pairs, use the GLO algorithm to estimate the parameter σ of the sample set, and use it to calculate the final error σ'.
[0102] The icons in the accompanying drawings that describe the structural positional relationships are for illustrative purposes only and should not be construed as limitations on this patent.
[0103] Obviously, the above embodiments of the present invention are merely examples for the purpose of clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. Those skilled in the art will appreciate that other variations or modifications can be made based on the above description. It is not necessary and impossible to enumerate all embodiments here. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present invention shall be included within the scope of protection of the claims of the present invention.
Claims
1. A method for evaluating robot self-positioning accuracy based on laser radar, characterized in that: The following steps are involved: S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment. S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing; S3, converting the feature-processed point cloud information into a global descriptor, and finding a set of sample pairs that revisit the same location through a search algorithm; S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained for the sample pair point cloud using the point cloud feature method. The maximum clique search algorithm is applied to search for the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated using the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are taken as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and the registration is repeated. If the registration is still incorrect after repeating this process for a set number of times, the collection of the sample pair data is abandoned. S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
2. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 1, characterized in that: The mobile robot in step S1 is equipped with: 2D and 3D lidar, and a visual sensor navigator; when collecting data in an unknown environment, the mobile robot uses random walk or fixed-point navigation to move and collect data, and records it in ROS package format; the methods used to find repeatedly visited locations include: global descriptor method, Scan Context algorithm, Intensity Scan Context algorithm, and deep learning algorithm.
3. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 2, characterized in that: When the mobile robot collects data in an unknown environment, it needs to visit the same location at least twice to meet the independence of the sample data; the collected data includes laser data and image data, and the mobile robot performs linear and turning movements in the environment and performs automatic obstacle avoidance and random search.
4. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 1, characterized in that: The feature processing of the recorded data in the ROS package format described in step S2 is specifically as follows: Extract the recorded data from the ROS package, calculate the feature matrix of the point neighborhood area for each frame of point cloud data in the recorded data, extract the eigenvalues of the feature matrix, extract the maximum point set of approximate features in multiple neighborhoods, or directly downsample the recorded data and evenly divide it into several parts according to the laser scanning beam. Retain points with a current index less than a set threshold as corner points, retain points with a surface index less than a set threshold as surface points, eliminate unstable points caused by motion distortion, and obtain point cloud information after feature processing.
5. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 4, characterized in that: The step S3 is specifically as follows: using the Scan Context algorithm to describe each frame of point cloud data, obtaining areas with a number of repeated visits less than a certain threshold that meet the set conditions through searching, and merging five or more repeatedly visited areas according to the first visit timestamp to obtain a sample pair set.
6. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 1, characterized in that: The process of collecting the local displacement vector of the sample pair data in step S4 is as follows: S41, using a point cloud feature extraction method as a feature extraction model, using each frame of point cloud data after feature processing as input data of the feature extraction model, and performing preliminary feature extraction; S42, finding coarse registration point pairs by performing a nearest neighbor search on the feature-processed point cloud information; further processing the obtained coarse registration point pairs using a maximum clique search method, extracting the maximum clique registration pairs with geometric information relationships, and generating an initialization registration matrix; S43. Use the point cloud registration algorithm for further registration, optimize based on the initialization registration matrix, obtain the precise registration relationship between the two groups of point clouds, calculate the average distance of the inner point pairs, and if it is greater than the set threshold, match again or choose to give up the acquisition. Repeat this process three times. If it is still an incorrect registration, give up collecting the sample pair data to improve the robustness and accuracy of the local translation vector.
7. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 6, characterized in that: The point cloud feature extraction method is FPFH and 3dsmooth method, and the point cloud registration algorithm is ICP series algorithm.
8. According to the laser radar-based robot self-positioning accuracy assessment method of claim 7, for each sample pair, the FPFH algorithm is used to extract features from the target point cloud and the source point cloud, and a coarse registration pair is obtained through nearest neighbor search. The maximum clique algorithm is used to obtain a maximum registration pair and a preliminary transformation matrix by utilizing the geometric property that the distance between two points in the same frame of the point cloud remains unchanged after conversion to another frame of the point cloud. Finally, the ICP algorithm is used to further align the maximum registration pair to obtain an accurate transformation matrix. Under this transformation matrix, if the average distance between the inliers is greater than a certain threshold, the pair is re-registered. This process is repeated three times, and the sample pair is discarded.
9. The method for evaluating robot self-positioning accuracy based on laser radar according to claim 1, characterized in that: The process of collecting the estimated trajectory vector in step S5 is specifically as follows: S51, running the SLAM algorithm on the recorded data in the ROS package format and saving the estimated trajectory of the algorithm; S52. Define a local translation vector as V x , find the two poses of the SLAM algorithm estimated trajectory with the corresponding timestamp, and define the translation vector between them as V y , forming an offline registration pair (V x ,V y ); S53, repeat steps S51 and S52 until all offline registration pairs are collected; randomly select several pairs from the set of all offline registration pairs, use the GLO algorithm to estimate the parameter σ of the sample set, and use it to calculate the final error σ'.
10. A laser radar-based robot self-positioning accuracy assessment system, comprising a memory and a processor, wherein the memory includes a laser radar-based robot self-positioning accuracy assessment program, and when the laser radar-based robot self-positioning accuracy assessment program is executed by the processor, the following steps are implemented: S1. Use a mobile robot equipped with a lidar to collect recorded data in ROS package format in an unknown environment. S2. Export the recorded data in ROS package format and perform feature processing to remove unstable points caused by motion distortion to obtain point cloud information after feature processing; S3, converting the feature-processed point cloud information into a global descriptor, and finding a set of sample pairs that revisit the same location through a search algorithm; S4. By accessing the sample pair set, the local displacement vector of the sample pair data is collected, and the relevant point cloud registration relationship is obtained for the sample pair point cloud using the point cloud feature method. The maximum clique search algorithm is applied to search for the maximum registration pair related to the geometric relationship before and after registration. The transformation matrix between the two closest points in the point cloud is calculated using the ICP algorithm. The corresponding points that satisfy the transformation matrix and have the smallest mean square error are taken as inliers. If the distance between the inliers is greater than the set threshold, it is judged as an incorrect registration and the registration is repeated. If the registration is still incorrect after repeating this process for a set number of times, the collection of the sample pair data is abandoned. S5. Repeat step S4 until the local displacement vectors of all access sample pairs are collected. The SLAM algorithm is used to run the recorded data in the ROS package format online or offline and collect the estimated trajectory vector; all local displacement vectors are combined with the trajectory vector to obtain several offline registration pairs, and a registration pair is randomly selected from all offline registration pairs to calculate the statistical error, which is the error of the trajectory.
Citation Information
Patent Citations
Point cloud identification method in three-dimensional scene
CN112580438A
Mobile robot pose estimation method and system based on multi-sensor tight coupling
CN113436260A