A method and apparatus for evaluating robot positioning error based on two-dimensional laser.

Through the robot positioning error evaluation method based on two-dimensional laser, the point cloud is converted using the inter-frame conversion matrix, which solves the problem of high cost of positioning error evaluation and low accuracy in the prior art, and realizes the real-time robot positioning error Accurate assessment.

CN115201794BActive Publication Date: 2025-02-21SUZHOU AGV ROBOT CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210757232.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-29
Publication Date
2025-02-21
Estimated Expiration
2042-06-29

AI Technical Summary

Technical Problem

In the prior art, the robot positioning error evaluation method is costly and the evaluation results are greatly affected by the external environment, so the accuracy is not high.

Method used

Through a robot positioning error evaluation method based on two-dimensional laser, the inter-frame conversion matrix is ​​calculated using two consecutive frames of point cloud data and the robot's global pose, and the current frame point cloud is converted to evaluate the positioning error.

Benefits of technology

Real-time evaluation of robot positioning capabilities is realized, the accuracy of evaluation results is improved, the cost is reduced, and multi-level alarm information is provided in a variety of interference scenarios.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115201794B_ABST
    Figure CN115201794B_ABST
Patent Text Reader

Abstract

The present invention discloses a method and device for evaluating robot positioning errors based on two-dimensional lasers. The method comprises: establishing a data storage container, calculating the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud according to the global posture of the robot at the current frame moment and the global posture of the robot at the previous frame moment adjacent to the current frame; converting the current frame point cloud according to the inter-frame conversion matrix; calculating the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluating the robot positioning error according to the degree of overlap. The present invention can realize real-time evaluation of the positioning capability of the robot during operation only through the point cloud data of adjacent frames, thereby verifying the accuracy of the robot positioning result. At the same time, the present invention can timely output multi-level alarm information in problem scenarios where the robot positioning is inaccurate, the positioning is lost, the posture drifts, etc. due to interference from multiple factors.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The embodiments of the present invention relate to robot positioning technology, and in particular to a two-dimensional laser-based robot positioning error evaluation method and device. Background Art

[0002] With the development of automation technology, robots are becoming more and more common in people's lives and work, taking on various production and life tasks. In the process of performing tasks, the positioning accuracy of robots determines the quality of their tasks to a certain extent. In order to ensure the quality of robots' tasks, it is necessary to evaluate the positioning error of robots.

[0003] In the prior art, the positioning accuracy of the robot is usually evaluated by setting an additional positioning identification device on the robot. This method is costly and the evaluation result is greatly affected by the external environment, and the accuracy of the evaluation result is not high. Summary of the invention

[0004] The present invention provides a two-dimensional laser-based robot positioning error evaluation method and device, which can realize real-time evaluation of the robot's positioning ability during operation only through point cloud data of adjacent frames, thereby verifying the accuracy of the robot's positioning results.

[0005] In a first aspect, an embodiment of the present invention provides a robot positioning error evaluation method based on two-dimensional laser, characterized by comprising:

[0006] S1. Establish a data storage container, wherein the data storage container stores two consecutive frames of point cloud data and the global position of the robot at two consecutive frames;

[0007] S2, according to the global posture of the robot at the current frame time and the global posture of the robot at the previous frame time adjacent to the current frame, calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud;

[0008] S3, transforming the current frame point cloud according to the inter-frame transformation matrix to obtain a transformed point cloud;

[0009] S4. Calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

[0010] Optionally, the S4 includes:

[0011] Computing the positioning translation error and the positioning rotation error of each laser point in the converted point cloud according to the converted point cloud and the previous frame point cloud;

[0012] The scanning data is divided into multiple regions, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

[0013] Optionally, calculating the positioning translation error of each laser point in the converted point cloud includes:

[0014] Taking each laser point in the converted point cloud as a target, searching for two nearest points that meet the threshold condition in the point cloud of the previous frame and fitting them to obtain the nearest straight line, and calculating the target distance from the corresponding laser point to the corresponding nearest straight line;

[0015] The normal vector information of each laser point in the converted point cloud is calculated, and the target distance is projected and decomposed through the direction information of the effective laser points in the converted point cloud that can establish the starting point and the fitting straight line association with the previous frame point cloud to obtain the components of each laser point in the X and Y directions, and the components of each laser point in the X and Y directions are used as the positioning translation errors of each laser point in the converted point cloud.

[0016] Optionally, calculating the normal vector information of each laser point in the converted point cloud includes:

[0017] Search for at least two nearest neighbor points corresponding to each laser point in the converted point cloud, and fit the circle where each laser point is located by determining a unique circle based on three non-collinear points in the plane;

[0018] According to the definition of the normal vector of any point on the circle in space geometry and the coordinates of the three points involved in fitting the circle, the normal vector information of each laser point is determined.

[0019] Optionally, calculating the positioning rotation error of each laser point in the converted point cloud includes:

[0020] According to the distance between each laser and the corresponding nearest straight line, based on the principle of triangular geometry and the principle of small amount approximation, the positioning rotation error of each laser point in the converted point cloud is calculated.

[0021] In a second aspect, an embodiment of the present invention further provides a robot positioning error evaluation device based on two-dimensional laser, comprising:

[0022] A storage container establishment module, used to establish a data storage container, wherein the data storage container stores two consecutive frames of point cloud data and the global position of the robot at two consecutive frames;

[0023] An inter-frame conversion matrix calculation module is used to calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud according to the robot's global posture at the current frame and the robot's global posture at the previous frame adjacent to the current frame;

[0024] A point cloud conversion module, used to convert the current frame point cloud according to the inter-frame conversion matrix to obtain a converted point cloud;

[0025] The positioning error evaluation module is used to calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

[0026] Optionally, the positioning error evaluation module is specifically used for:

[0027] Computing the positioning translation error and the positioning rotation error of each laser point in the converted point cloud according to the converted point cloud and the previous frame point cloud;

[0028] The scanning data is divided into multiple regions, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

[0029] The present invention calculates the inter-frame conversion matrix between two consecutive frames of point cloud, converts the current frame point cloud according to the inter-frame conversion matrix, and evaluates the robot positioning error in real time by calculating the degree of overlap between the converted point cloud and the previous frame point cloud, thereby achieving real-time evaluation of the robot's positioning ability during operation. At the same time, the present invention can timely output multi-level alarm information in scenarios where the robot's positioning is inaccurate, positioning is lost, and posture drift is caused by interference from multiple factors, such as position deviation, positioning failure, etc. BRIEF DESCRIPTION OF THE DRAWINGS

[0030] Figure 1 A flowchart of a robot positioning error assessment based on two-dimensional laser provided in an embodiment of the present invention;

[0031] Figure 2 is a schematic diagram of a data container and a processing flow in an embodiment of the present invention;

[0032] Figure 3 is a schematic diagram of point cloud normal vector calculation in an embodiment of the present invention;

[0033] Figure 4 is a schematic diagram of visualization of normal vectors in a frame of point cloud in an embodiment of the present invention;

[0034] Figure 5 is a schematic diagram of robot coordinate system transformation at different moments in an embodiment of the present invention;

[0035] Figure 6 Schematic diagram of the association of point clouds of previous and next frames in an embodiment of the present invention;

[0036] Figure 7 Schematic diagram of error calculation in the translation dimension of a point cloud in an embodiment of the present invention;

[0037] Figure 8 Schematic diagram of error calculation in the rotation dimension of a point cloud in an embodiment of the present invention;

[0038] Fig. 9 Schematic diagram of point cloud area division in an embodiment of the present invention. DETAILED DESCRIPTION

[0039] The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It is to be understood that the specific embodiments described herein are only used to explain the present invention, rather than to limit the present invention. It should also be noted that, for ease of description, only parts related to the present invention, rather than all structures, are shown in the accompanying drawings.

[0040] Example

[0041] Figure 1 A flowchart of a robot positioning error evaluation based on two-dimensional laser provided in an embodiment of the present invention specifically includes the following steps:

[0042] S1. Establish a data storage container, in which two consecutive frames of point cloud data and the global position of the robot at two consecutive frames are stored.

[0043] S11. Data container and processing flow

[0044] In this embodiment, a data storage container of size 2 is first established, such as Figure 2 As shown, the two elements in the container are front and back. Subscribe to the laser point cloud topic. When the first frame of point cloud data arrives, only data storage is processed. The point cloud data is stored in the back position of the container, recorded as SCANback, and the robot pose Poseback at the first frame of point cloud is saved.

[0045] When the second frame of point cloud data arrives, the first frame of point cloud data is moved forward to the front position in the container, recorded as SCANfront, and the pose at the first frame is converted to Posefront. The second frame of data is saved as SCANback, and the robot pose Poseback at the second frame is recorded.

[0046] At this time, the data in the data storage container contains two consecutive frames of point cloud data, and saves the global position of the robot at the two frames. For the subsequent laser data obtained by continuous subscription, the data of the current frame is always stored in the back position of the data container, and the data of the previous frame is transferred to the front position of the container, and the data in the container is continuously updated in a cycle.

[0047] S12. Calculate point cloud direction information

[0048] In this embodiment, the normal vector information of each laser point in the converted point cloud is calculated, including: searching for at least two nearest neighbor points corresponding to each laser point in the converted point cloud, and fitting a circle where each laser point is located by determining a unique circle by three non-collinear points in a plane; and determining the normal vector information of each laser point according to the definition of the normal vector of any point on the circle in spatial geometry and the coordinates of the three points involved in the fitted circle.

[0049] Specifically, in the existing mapping and positioning algorithms, for the data of single-line laser radar, the obstacle distance information and intensity information of the points in the original data are mainly used, and there are few schemes for utilizing the point cloud structure, which fails to mine the richer information in the original laser data. The algorithm proposes a method to extract the point cloud normal vector from each frame of scanning data of the single-line laser radar, and obtain the normal vector information of each point in the point cloud, that is, the direction information of the point.

[0050] In order to make full use of the structural information of the point cloud, at least two nearest neighboring points are searched for each laser point in the point cloud, and the circle where each laser point is located is fitted by determining a unique circle based on three non-collinear points in the plane. The arc passing through the three points on the circle fitted here is an accurate expression of the local point cloud structure of each laser point. Therefore, according to the definition of the normal vector of any point on the circle in spatial geometry and the coordinates of the three points involved in the fitted circle, the normal vector of a laser point can be solved, such as Figure 3 As shown in the figure, the normal vector information solution process of the laser point is as follows:

[0051] (1) Connect the point B to be solved and the two nearest neighbor points C and D obtained by the search to obtain the vector And calculate the modulus of the vector

[0052] (2) Draw a vector through point B The vertical line of

[0053] (3) Take the outer direction of the circle as the direction of the perpendicular vector, and take the corresponding vector modulus as the modulus ratio of the perpendicular vector to obtain the vector as well as

[0054] (4) According to the principle of vector operation, add the two perpendicular vectors to obtain the normal vector at point B Since the algorithm only focuses on the direction of the normal vector, it can be directly normalized to unify the modulus of the normal vector.

[0055] The above process is the process of fitting a circle based on each laser point and its two nearest neighbors and solving the normal vector of the point. In order to ensure the accuracy of the results and eliminate the interference of possible outliers, the algorithm adds a redundant calculation mechanism. In the nearest neighbor search, if the number of neighboring points that meet the distance threshold condition exceeds the minimum requirement of two, these laser points are also included in the nearest neighbor array with a maximum number of 5. All nearest neighbor points can participate in the normal vector calculation process, thereby improving the accuracy of the normal vector expression of each point. Similarly, since some clutter points are relatively sparse in the point cloud and the minimum number of nearest neighbor points cannot be found, the normal vector calculation is not performed, which also realizes the preliminary filtering of the point cloud.

[0056] Finally, the algorithm obtains the normal vector information of the laser point in each frame of the point cloud, such as Figure 4 As shown in the figure, this is the directional information at the point, which is used for subsequent processing. Compared with the original point cloud which only has the distance and intensity data of each point, it further enriches the effective information of the data.

[0057] S2. Calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud according to the global posture of the robot at the current frame and the global posture of the robot at the previous frame adjacent to the current frame.

[0058] Through the cyclic update operation of data in S1, the point cloud of the current frame, the global posture of the robot, and the point cloud and global posture of the previous frame can be obtained at all times. In addition, the normal vector information of the internal points of each frame point cloud can be obtained when the algorithm needs it.

[0059] Further, such as Figure 5 As shown in the figure, the calculation formula for solving the inter-frame transformation based on the global posture of the robot at two frames is as follows:

[0060] T back_to_front =[R back_to_front t back_to_front ]

[0061]

[0062]

[0063] Where R back_to_front is the rotation parameter from the current frame to the previous moment, t back_to_front The transformation matrix is ​​the rotation and translation parameters converted from the current frame to the previous moment. The transformation matrix is ​​calculated based on the output results of the robot positioning program. Associating the point cloud data with the corresponding inter-frame transformation is the basic prerequisite for quantitative error analysis.

[0064] S3. Convert the current frame point cloud according to the inter-frame conversion matrix to obtain a converted point cloud.

[0065] The current frame point cloud SCANback is processed according to the obtained inter-frame transformation matrix, and is transferred to the robot coordinate system of the previous frame through rotation and translation transformation. The point cloud after coordinate transformation is recorded as SCAN_transed:

[0066] SCAN_transed = T back_to_front *SCAN_back (2)

[0067] For the newly generated point cloud SCAN_transed, the number, intensity and relative positions of the laser points in the point cloud are consistent with the current frame point cloud SCAN_back, but the coordinates of each laser point in the point cloud have completed the global coordinate transformation from the current frame robot coordinate system to the previous frame robot coordinate system.

[0068] S4. Calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

[0069] From the actual operation process of the robot, the scanning frequency of the laser radar is high, and the mobile robot often runs at a low speed for safety reasons. Therefore, under normal circumstances, the change rate of the point cloud received by the robot is small. The only difference between the two frames is that some of the environmental feature points newly detected in the current frame and the feature points that disappeared from the detection range due to the movement of the robot, but for ordinary application scenarios, the difference accounts for a very low proportion in a complete point cloud frame.

[0070] Based on the above objective premise, under the premise that the robot positioning function is normal and the positioning result output is correct, when the current frame point cloud is transferred to the robot coordinate system of the previous frame through inter-frame transformation, the overlap between the converted point cloud and the previous frame point cloud is high. Since this inference is based on the background of correct robot positioning, if the robot positioning error is large or the position information is lost, the phenomenon that can be directly manifested is that the overlap between the converted point cloud and the previous frame is low. Then, the correlation characteristics between point clouds can be used to establish a positioning error evaluation model, and the overlap between the converted point cloud and the previous frame point cloud can be deeply analyzed. Starting from the three dimensions (x, y, theta) of the robot posture expression in the 2D laser SLAM algorithm, the robot positioning results at each moment are analyzed.

[0071] S41. Establishing an evaluation model

[0072] In this embodiment, the positioning translation error and the positioning rotation error of each laser point in the converted point cloud are first calculated based on the converted point cloud and the previous frame point cloud.

[0073] The calculation of the positioning translation error of each laser point in the converted point cloud includes:

[0074] Taking each laser point in the converted point cloud as a target, searching for two nearest points that meet the threshold condition in the point cloud of the previous frame and fitting them to obtain the nearest straight line, and calculating the target distance from the corresponding laser point to the corresponding nearest straight line;

[0075] The normal vector information of each laser point in the converted point cloud is calculated, and the target distance is projected and decomposed through the direction information of the effective laser points in the converted point cloud that can establish the starting point and the fitting straight line association with the previous frame point cloud to obtain the components of each laser point in the X and Y directions, and the components of each laser point in the X and Y directions are used as the positioning translation errors of each laser point in the converted point cloud.

[0076] Specifically, for the same obstacle in the environment observed in both the previous and next frames, ideally, after the point cloud of the current frame is converted to the robot coordinate system of the previous frame, the point clouds of the corresponding areas should completely overlap. However, the transformation matrix relied on in the conversion process comes from the pose transformation of the positioning results at two moments. Since the robot's positioning program cannot guarantee that the error is 0, there is a certain distance between the point cloud after conversion and the point set of the same obstacle feature in the point cloud of the previous frame. The size of this distance is a more specific basis for measuring the positioning error. Figure 6 As shown in the figure, this figure is used for visualization and is not real data. The difference between the point cloud content of the two frames before and after the runtime is small, and in an ideal case, the converted current point cloud can be highly overlapped with the previous frame point cloud, such as Figure 6 The overlapped image in the lower left of the middle; however, when there is an actual error, there is always a certain deviation between the point clouds, such as Figure 6 Therefore, the quantitative evaluation of the deviation is an effective solution for positioning error analysis.

[0077] First, the relative distance between the converted point cloud and the previous frame point cloud is quantitatively analyzed in the X and Y dimensions involved in the translation of the point cloud. Simply put, if the correspondence between each laser point of the environmental features observed in the converted point cloud and the previous frame point cloud can be directly established, and the Euclidean distance between the corresponding points can be calculated, it can be used as a data source for error evaluation. However, based on the data characteristics of actual lidar, the point cloud is dense and each laser point does not have semantic information, so it is impossible to directly establish the correspondence between the starting point and the point. The algorithm uses the nearest straight line fitting method to establish the corresponding association between each laser point in the converted point cloud and the previous frame point cloud. Taking each laser point in the converted point cloud as the target, the two nearest points that meet the threshold condition are searched in the previous frame point cloud and fitted to obtain the nearest straight line, and the distance d from the point to the fitted nearest straight line is calculated. transed_to_front ,like Figure 7 shown.

[0078] According to the work of obtaining normal vectors in point clouds mentioned above, we know that due to the presence of various types of unstructured obstacles in the environment, the normal vector directions of laser points in a frame of point cloud are different, and it is impossible to solve all points that meet the conditions in a frame of point cloud in a single dimension to obtain d transed_to_front The algorithm further uses the normal vector information of the point in the converted point cloud to determine the direction information of the effective laser point in the converted point cloud that can establish the starting point and the fitting line association with the point cloud of the previous frame. transed_to_front Perform projection decomposition to obtain the components in the X and Y directions, and determine the translation error of the robot based on the components in the X and Y directions:

[0079]

[0080] This completes the transition from independent analysis of each point between the converted point cloud and the previous frame point cloud to data alignment and unified processing of all points that meet the conditions in one frame.

[0081] Furthermore, the positioning rotation error of each laser point in the converted point cloud is calculated, including: according to the distance between each laser and the corresponding nearest straight line, based on the triangular geometry principle and the principle of small amount approximation, the positioning rotation error of each laser point in the converted point cloud is calculated.

[0082] In this embodiment, in terms of the angles involved in the rotation of the point cloud, for the single-line laser mine carried by the mobile robot, only the heading angle changes. Similar to the deviation in the translation dimension, there is an angular difference between the converted point clouds SCAN_transed and SCAN_front, which can also accurately evaluate the positioning ability of the robot.

[0083] like Figure 8 As shown in the figure, a single laser point data in a frame of point cloud is used as an example to explain the angle error solution in detail. In the figure, a point Ptransed in SCAN_transed and the straight line fitted by the two closest points corresponding to this point in SCAN_front are selected. According to the solution of the translation error mentioned above, the distance d from Ptransed to the fitted straight line can be quickly determined. transed_to_front According to the principles of trigonometric geometry and the principle of small amount approximation, a vertical line is drawn through Ptransed in the vehicle coordinate system, perpendicular to OPtransed and intersecting the fitting line at a point Ptransed'. The angle θ between OPtransed and OPtransed' is the concrete expression of the angle error, that is, the point cloud in SCAN_transed can coincide with SCAN_front in direction after a certain angle compensation. The compensation angle can be used as a measure of the positioning rotation error. The specific calculation process of the angle error is as follows:

[0084] 1) Obtain the coordinates of Ptransed in the map coordinate system according to the coordinate transformation relationship, and calculate the length of OPtransed as L and the angle α with the X-axis;

[0085] 2) According to the Ptransed coordinates and the nearest straight line obtained by fitting, the equation of the vertical line passing through Ptransed and perpendicular to the fitting straight line is obtained, thereby obtaining the angle β between the vertical line and the X-axis in the figure;

[0086] 3) According to the principle of spatial geometry, we can calculate that γ = 180° - β - (90° - α) = 90° - β + α in the figure;

[0087] 4) According to the angle γ, Ptransed to the fitting straight line distance d transed_to_front And the distance between Ptransed and Ptransed' calculated by trigonometric function

[0088] 5) So far, ΔOP has been calculated transed P transed 'There are two right-angled sides, so the angle value to be solved can be calculated based on trigonometric functions

[0089] Furthermore, after calculating the positioning translation error and positioning rotation error of each laser point in the converted point cloud, the laser points in the point cloud are partitioned and counted to determine the specific, multi-region division of the scanning data, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

[0090] S42, partition statistics, weight balance

[0091] In this embodiment, after the above process, the algorithm can obtain the error statistics of a large number of laser points in the frame in the X, Y, and Theta directions when each frame of point cloud is obtained. For each laser point that meets the conditions in SCAN_transed, its errors in translation and rotation dimensions can be obtained, but only the error data of each point cannot make an overall assessment of the positioning error at the moment of the frame. If the positioning is correct or not only by setting the error threshold, there may be a situation where the error of individual laser points is large and the overall error is small, resulting in an erroneous judgment. At the same time, according to the principles of statistics, the variance in the data and the covariance of multiple dimensions are measures of the degree of discreteness when measuring a random variable or a set of data, and are often used to evaluate the degree of deviation between a random variable and its mathematical expectation (i.e., the mean).

[0092] Different from the method in mathematical statistics that measures a fixed variable multiple times and then calculates the variance based on all the data, this algorithm uses the multi-point data in a single measurement to calculate the variance of the error in multiple dimensions and form a covariance matrix. The error projection scheme based on the point cloud normal vector in the above steps ensures the consistency of the data. Formula (4) can be used to complete the variance calculation in the three dimensions of X, Y, and Theta using only a single frame of data.

[0093]

[0094] According to the principle of mathematical statistics, for each dimension, the mean is directly calculated first and then the variance is calculated, in which each data element has the same weight and is brought into the calculation. In the actual application of robots, due to the special environment structure, the error in a certain dimension of some key scenes is not obvious enough. For example, in the corridor environment, a large number of point clouds fall on the walls on both sides, and a small number of points fall on obstacles with obvious characteristics and high discrimination in this scene. In this way, even if there are errors in the front and back of the point clouds falling on the walls on both sides, they will interfere in the process of finding the nearest straight line of SCAN_transed from SCAN_front due to the highly similar point cloud structure, and it is impossible to establish a real association, resulting in incorrect error distance calculation. Although a small number of obstacle point clouds with high discrimination in this scene still maintain accuracy in the relative distance calculation of the two frames, the number of such point clouds in the scene accounts for a very low proportion of the total number of point clouds, which leads to the fact that when the variance of the data of each frame of point cloud is uniformly calculated, the real error data is "diluted" by a large amount of interfered invalid data, and the error evaluation of the point cloud at the moment of the frame cannot be reflected.

[0095] To solve this problem, the algorithm uses partition statistics and weight balancing to improve its adaptability to different scenarios. Taking the 360-degree scanning single-line lidar data as an example, the scanned data is divided into multiple regions, such as Fig. 9As shown in the figure, the original data falls into multiple areas of equal area. The red line in the figure is the point cloud data. The division of the area can be flexibly configured according to the actual data volume. The algorithm selects a fixed number of laser points in each area according to the set threshold. The selected points become the representative points in each area. At the same time, the representative points in each area enjoy the same weight in subsequent statistical analysis. For example, in a long corridor environment, a total of 1,000 laser point data are received in one scan, of which 900 are on the walls on both sides, and 100 are on some small but highly distinguishable environmental features in the environment. According to the original scheme, the wall features account for 90%. Even if a large error value is obtained on the features with high distinguishability, it is not obvious in the overall result. However, after the partition statistics, the number of point clouds of wall features has decreased significantly, while the features with high distinguishability have not fluctuated significantly in quantity because they are originally more concentrated. In the process of using the error covariance of the point cloud after sampling, the weight ratio of such features is increased, and the calculation results are more in line with the actual situation. Based on this method, the weight balance of the point cloud is achieved when calculating the final overall error. After partition sampling, a large number of original repetitive features can be weighted normalized even in highly structured scenes such as corridor environments, so that each distinctive feature in each frame of the point cloud can be grasped more accurately and the positioning error can be evaluated more objectively.

[0096] The embodiment of the present invention further provides a robot positioning error evaluation device based on two-dimensional laser, comprising:

[0097] A storage container establishment module, used to establish a data storage container, wherein the data storage container stores two consecutive frames of point cloud data and the global position of the robot at two consecutive frames;

[0098] An inter-frame conversion matrix calculation module is used to calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud according to the robot's global posture at the current frame and the robot's global posture at the previous frame adjacent to the current frame;

[0099] A point cloud conversion module, used to convert the current frame point cloud according to the inter-frame conversion matrix to obtain a converted point cloud;

[0100] The positioning error evaluation module is used to calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

[0101] Optionally, the positioning error evaluation module is specifically used for:

[0102] Computing the positioning translation error and the positioning rotation error of each laser point in the converted point cloud according to the converted point cloud and the previous frame point cloud;

[0103] The scanning data is divided into multiple regions, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

[0104] The calculation of the positioning translation error of each laser point in the converted point cloud includes:

[0105] Taking each laser point in the converted point cloud as a target, searching for two nearest points that meet the threshold condition in the point cloud of the previous frame and fitting them to obtain the nearest straight line, and calculating the target distance from the corresponding laser point to the corresponding nearest straight line;

[0106] The normal vector information of each laser point in the converted point cloud is calculated, and the target distance is projected and decomposed through the direction information of the effective laser points in the converted point cloud that can establish the starting point and the fitting straight line association with the previous frame point cloud to obtain the components of each laser point in the X and Y directions, and the components of each laser point in the X and Y directions are used as the positioning translation errors of each laser point in the converted point cloud.

[0107] The calculation of the normal vector information of each laser point in the converted point cloud includes:

[0108] Search for at least two nearest neighbor points corresponding to each laser point in the converted point cloud, and fit the circle where each laser point is located by determining a unique circle based on three non-collinear points in the plane;

[0109] According to the definition of the normal vector of any point on the circle in space geometry and the coordinates of the three points involved in fitting the circle, the normal vector information of each laser point is determined.

[0110] Calculating the positioning rotation error of each laser point in the converted point cloud includes:

[0111] According to the distance between each laser and the corresponding nearest straight line, based on the principle of triangular geometry and the principle of small amount approximation, the positioning rotation error of each laser point in the converted point cloud is calculated.

[0112] A two-dimensional laser-based robot positioning error evaluation device provided in an embodiment of the present invention can execute a two-dimensional laser-based robot positioning error evaluation method provided in any embodiment of the present invention, and has corresponding functional modules and beneficial effects of the execution method.

[0113] Note that the above are only preferred embodiments of the present invention and the technical principles used. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in more detail through the above embodiments, the present invention is not limited to the above embodiments, and may include more other equivalent embodiments without departing from the concept of the present invention, and the scope of the present invention is determined by the scope of the appended claims.

Claims

1. A robot positioning error evaluation method based on two-dimensional laser, characterized in that: include: S1. Establish a data storage container, wherein the data storage container stores two consecutive frames of point cloud data and the global position of the robot at two consecutive frames; S2, according to the global posture of the robot at the current frame time and the global posture of the robot at the previous frame time adjacent to the current frame, calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud; S3, transforming the current frame point cloud according to the inter-frame transformation matrix to obtain a transformed point cloud; S4. Calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

2. The method according to claim 1, characterized in that The S4 includes: Computing the positioning translation error and the positioning rotation error of each laser point in the converted point cloud according to the converted point cloud and the previous frame point cloud; The scanning data is divided into multiple regions, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

3. The method according to claim 2, characterized in that Calculating the positioning translation error of each laser point in the converted point cloud includes: Taking each laser point in the converted point cloud as a target, searching for two nearest points that meet the threshold condition in the point cloud of the previous frame and fitting them to obtain the nearest straight line, and calculating the target distance from the corresponding laser point to the corresponding nearest straight line; The normal vector information of each laser point in the converted point cloud is calculated, and the target distance is projected and decomposed through the direction information of the effective laser points in the converted point cloud that can establish the starting point and the fitting straight line association with the previous frame point cloud to obtain the components of each laser point in the X and Y directions, and the components of each laser point in the X and Y directions are used as the positioning translation errors of each laser point in the converted point cloud.

4. The method according to claim 3, characterized in that Calculating the normal vector information of each laser point in the converted point cloud, including: Search for at least two nearest neighbor points corresponding to each laser point in the converted point cloud, and fit the circle where each laser point is located by determining a unique circle based on three non-collinear points in the plane; According to the definition of the normal vector of any point on the circle in space geometry and the coordinates of the three points involved in fitting the circle, the normal vector information of each laser point is determined.

5. The method according to claim 3, characterized in that: Calculating the positioning rotation error of each laser point in the converted point cloud includes: According to the distance between each laser and the corresponding nearest straight line, based on the principle of triangular geometry and the principle of small amount approximation, the positioning rotation error of each laser point in the converted point cloud is calculated.

6. A robot positioning error evaluation device based on two-dimensional laser, characterized in that: include: A storage container establishment module, used to establish a data storage container, wherein the data storage container stores two consecutive frames of point cloud data and the global position of the robot at two consecutive frames; An inter-frame conversion matrix calculation module is used to calculate the inter-frame conversion matrix of the current frame point cloud to the previous frame point cloud according to the robot's global posture at the current frame and the robot's global posture at the previous frame adjacent to the current frame; A point cloud conversion module, used to convert the current frame point cloud according to the inter-frame conversion matrix to obtain a converted point cloud; The positioning error evaluation module is used to calculate the degree of overlap between the converted point cloud and the previous frame point cloud, and evaluate the robot positioning error according to the degree of overlap.

7. The device according to claim 6, characterized in that The positioning error evaluation module is specifically used for: Computing the positioning translation error and the positioning rotation error of each laser point in the converted point cloud according to the converted point cloud and the previous frame point cloud; The scanning data is divided into multiple regions, and a fixed number of target laser points are selected in each region according to the set threshold. Each target laser point has the same weight, and the positioning error of the robot is evaluated by calculating the variance of the positioning translation error and positioning rotation error of the target laser point.

Citation Information

Patent Citations

  • Three-dimensional reconstruction system and three-dimensional reconstruction method

    CN110044293A

  • Unmanned aerial vehicle LiDAR system positioning and attitude determination system and method

    CN113504543A