A method, apparatus, electronic device and storage medium for location-based reliability processing
By processing point cloud data with voxel filtering and Gaussian filtering, and combining bilinear interpolation to calculate matching scores, the problem of inaccurate positioning caused by uneven point cloud quantity in mobile robot localization is solved, improving positioning accuracy and stability, enhancing system adaptability, and promoting the automation and intelligence of warehousing and logistics.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- GUANGDONG LYRIC ROBOT INTELLIGENT AUTOMATION CO LTD
- Filing Date
- 2023-12-28
- Publication Date
- 2026-05-26
Smart Images

Figure CN117782104B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data processing technology, and in particular to a location-based reliability processing method, apparatus, electronic device, and storage medium. Background Technology
[0002] Mobile robots play a vital role in warehousing and logistics. With the rapid development of the industry, various automated tasks, such as object grasping and spatial exploration, have placed higher demands on the positioning of mobile robots.
[0003] Mobile robot localization typically involves constructing a point cloud map based on the robot's pose, and then determining the robot's actual position by matching the current pose LiDAR with the map. However, this method is prone to inaccurate matching and low matching degree because the number of point clouds is uneven. This can easily lead to interference from a large number of nearby point clouds, causing the sparse point clouds in the distance to be ignored. Summary of the Invention
[0004] In view of this, embodiments of this application provide a location reliability processing method, apparatus, electronic device, and storage medium, which can obtain more accurate location reliability.
[0005] The technical solution of this application embodiment is implemented as follows:
[0006] In a first aspect, embodiments of this application provide a location-based reliability processing method, the method comprising:
[0007] Acquire first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data;
[0008] The first point cloud data is filtered to obtain the second point cloud data, and the first grid map is smoothed to obtain the second grid map. The number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data.
[0009] The matching degree between each current point in the second point cloud data and the second grid map is calculated based on the second point cloud data and the second grid map;
[0010] Multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point. Calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree. Use the second laser matching degree as the positioning confidence.
[0011] Secondly, embodiments of this application also provide a location-based reliability processing device, the device comprising:
[0012] The acquisition module is used to acquire first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data.
[0013] The first processing module is used to filter the first point cloud data to obtain the second point cloud data, and to smooth the first grid map to obtain the second grid map, wherein the number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data.
[0014] The calculation module is used to calculate the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map;
[0015] The second processing module is used to multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point, calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree, and use the second laser matching degree as the positioning confidence.
[0016] Thirdly, embodiments of this application also provide an electronic device, including: a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is running, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the location confidence processing method described in any of the first aspects.
[0017] Fourthly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed by a processor, performs the location confidence processing method described in any one of the first aspects.
[0018] The embodiments of this application have the following beneficial effects:
[0019] (1) Improved positioning accuracy: By using voxel filtering, the problem of inaccurate positioning caused by uneven point cloud density is effectively solved. This method makes the radar point cloud density more uniform, avoiding interference from too many point clouds in the near area and too few point clouds in the far area, thereby improving the overall point cloud matching degree.
[0020] (2) Enhanced matching stability: Gaussian filtering is used to smooth the image, blurring the edges and causing the pixel values to gradually decrease from the center to the edge. This not only refines the map edges and improves the accuracy and stability of matching, but also makes the pixel value distribution close to the Gaussian distribution, providing a basis for subsequent calculation of the matching score between the point cloud and the map.
[0021] (3) Optimize matching score calculation: By calculating the matching score through bilinear interpolation, the matching degree between the current point cloud and the map can be evaluated more accurately. This method uses the pixel values of the surrounding four points to calculate the pixel value of the current point, thereby obtaining a more accurate matching score.
[0022] (4) Improving Positioning Reliability: After obtaining the matching score, the positioning reliability is calculated using the root mean square error, further improving the reliability of positioning. This method adjusts the coefficients based on the relationship between the matching score and a set threshold, making the final matching score more reasonable and accurately reflecting the positioning reliability of the robot's current pose.
[0023] (5) Enhanced System Robustness: This solution improves the system's adaptability to complex environments by comprehensively applying techniques such as voxel filtering, Gaussian filtering, and bilinear interpolation. In various automated tasks, such as object grasping and spatial exploration, the robot can locate itself more accurately and effectively cope with challenges such as uneven point cloud content.
[0024] (6) Promote the automation of warehousing and logistics: The implementation of this solution will help improve the application level of mobile robots in the field of warehousing and logistics. By improving positioning accuracy and stability, robots can perform various tasks more efficiently, such as cargo handling and inventory management, further promoting the automation and intelligent development of warehousing and logistics. Attached Figure Description
[0025] To more clearly illustrate the technical solutions of the embodiments of this application, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of this application and should not be regarded as a limitation of the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0026] Figure 1 This is a flowchart illustrating steps S101-S104 provided in the embodiments of this application;
[0027] Figure 2 This is a flowchart illustrating steps S201-S203 provided in the embodiments of this application;
[0028] Figure 3 This is a flowchart illustrating steps S301-S302 provided in the embodiments of this application;
[0029] Figure 4 This is a flowchart illustrating steps S401-S402 provided in the embodiments of this application;
[0030] Figure 5a This is the first point cloud data map provided in the embodiments of this application;
[0031] Figure 5b This is the second point cloud data map provided in the embodiments of this application;
[0032] Figure 6 This is a schematic diagram illustrating the principle of bilinear interpolation for calculating matching scores provided in an embodiment of this application.
[0033] Figure 7 This is a schematic diagram of the location reliability processing device provided in the embodiments of this application;
[0034] Figure 8 This is a schematic diagram of the composition structure of the electronic device provided in the embodiments of this application. Detailed Implementation
[0035] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. It should be understood that the accompanying drawings in this application are for illustrative and descriptive purposes only and are not intended to limit the scope of protection of this application. Furthermore, it should be understood that the schematic drawings are not drawn to scale. The flowcharts used in this application illustrate operations implemented according to some embodiments of this application. It should be understood that the operations in the flowcharts may not be implemented in sequence, and steps without logical contextual relationships may be reversed or implemented simultaneously. In addition, those skilled in the art, guided by the content of this application, may add one or more other operations to the flowcharts, or remove one or more operations from the flowcharts.
[0036] In the following description, references are made to “some embodiments,” which describe a subset of all possible embodiments. However, it is understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0037] Furthermore, the described embodiments are merely some, not all, of the embodiments of this application. The components of the embodiments of this application described and illustrated herein can typically be arranged and designed in various different configurations. Therefore, the following detailed description of the embodiments of this application provided in the accompanying drawings is not intended to limit the scope of the claimed application, but merely to illustrate selected embodiments of the application. All other embodiments obtained by those skilled in the art based on the embodiments of this application without inventive effort are within the scope of protection of this application.
[0038] In the following description, the terms "first, second, third" are used merely to distinguish similar objects and do not represent a specific ordering of objects. It is understood that "first, second, third" may be interchanged in a specific order or sequence where permitted, so that the embodiments of this application described herein can be implemented in an order other than that illustrated or described herein.
[0039] It should be noted that the term "comprising" will be used in the embodiments of this application to indicate the presence of the features declared thereafter, but does not exclude the addition of other features.
[0040] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. The terminology used herein is for the purpose of describing embodiments of this application and is not intended to limit this application.
[0041] See Figure 1 , Figure 1 This is a flowchart illustrating steps S101-S104 of the location reliability processing method provided in this application embodiment, which will be combined with... Figure 1 Steps S101-S104 are explained below.
[0042] Step S101: Obtain first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data;
[0043] Step S102: Filter the first point cloud data to obtain the second point cloud data, and smooth the first grid map to obtain the second grid map. The number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data.
[0044] Step S103: Calculate the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map;
[0045] Step S104: Multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point. Calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree. Use the second laser matching degree as the positioning confidence.
[0046] The above location-based reliability processing method has the following beneficial effects:
[0047] (1) Improved positioning accuracy: By using voxel filtering, the problem of inaccurate positioning caused by uneven point cloud density is effectively solved. This method makes the radar point cloud density more uniform, avoiding interference from too many point clouds in the near area and too few point clouds in the far area, thereby improving the overall point cloud matching degree.
[0048] (2) Enhanced matching stability: Gaussian filtering is used to smooth the image, blurring the edges and causing the pixel values to gradually decrease from the center to the edge. This not only refines the map edges and improves the accuracy and stability of matching, but also makes the pixel value distribution close to the Gaussian distribution, providing a basis for subsequent calculation of the matching score between the point cloud and the map.
[0049] (3) Optimize matching score calculation: By calculating the matching score through bilinear interpolation, the matching degree between the current point cloud and the map can be evaluated more accurately. This method uses the pixel values of the surrounding four points to calculate the pixel value of the current point, thereby obtaining a more accurate matching score.
[0050] (4) Improving Positioning Reliability: After obtaining the matching score, the positioning reliability is calculated using the root mean square error, further improving the reliability of positioning. This method adjusts the coefficients based on the relationship between the matching score and a set threshold, making the final matching score more reasonable and accurately reflecting the positioning reliability of the robot's current pose.
[0051] (5) Enhanced System Robustness: This solution improves the system's adaptability to complex environments by comprehensively applying techniques such as voxel filtering, Gaussian filtering, and bilinear interpolation. In various automated tasks, such as object grasping and spatial exploration, the robot can locate itself more accurately and effectively cope with challenges such as uneven point cloud content.
[0052] (6) Promote the automation of warehousing and logistics: The implementation of this solution will help improve the application level of mobile robots in the field of warehousing and logistics. By improving positioning accuracy and stability, robots can perform various tasks more efficiently, such as cargo handling and inventory management, further promoting the automation and intelligent development of warehousing and logistics.
[0053] The exemplary steps described above in the embodiments of this application will be explained below.
[0054] In step S101, first point cloud data is acquired, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data.
[0055] Here, three-dimensional data of the surrounding environment is captured from LiDAR or other 3D sensors. These data points form a "point cloud," which is a series of three-dimensional coordinate points in space.
[0056] "Laser matching degree" is a metric used to quantify how well the initial point cloud data aligns with some reference (such as a previously constructed map or model). A high matching degree means that the data matches the reference very well, while a low matching degree may indicate errors or inconsistencies.
[0057] In step S102, the first point cloud data is filtered to obtain the second point cloud data, and the first grid map is smoothed to obtain the second grid map. The number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data.
[0058] Here, since the raw point cloud data may be very dense, containing a large number of points, direct processing may be time-consuming and unnecessary. Therefore, filtering (such as voxel filtering) can reduce the number of points while preserving shape features.
[0059] Voxel filtering works by dividing space into fixed-size cubes called "voxels" and representing each voxel by the average position of all points within it or other statistical measures. This effectively reduces the number of points while preserving most of the important shape information.
[0060] A grid map is a map representation method that divides space into regular grids, where each grid cell (or "grid") can contain information about the area (such as obstacles, terrain, etc.).
[0061] Smoothing techniques (such as Gaussian filtering) are used to reduce noise and irregularities in map data. Gaussian filtering smooths the data by calculating a weighted average of each point and its surrounding points, where the weights are distributed Gaussianly according to their distance from the center point. This helps eliminate small, unimportant details, making the map smoother and more consistent.
[0062] In step S103, the matching degree between each current point in the second point cloud data and the second grid map is calculated based on the second point cloud data and the second grid map.
[0063] Here, the algorithm compares the filtered and smoothed point cloud data with the grid map. For each point in the point cloud, it calculates how well it matches its corresponding location on the map.
[0064] Matching accuracy can be calculated in several ways, such as based on the distance from a point to the map surface, color similarity, or consistency of normal directions. A high matching accuracy means that points in the point cloud closely match their corresponding locations on the map.
[0065] In step S104, the matching degree of each current point is multiplied by a preset coefficient to obtain the actual matching degree of each current point. The root mean square error of the actual matching degree of each current point is calculated to obtain the second laser matching degree, and the second laser matching degree is used as the positioning confidence.
[0066] Here, since smoothing may reduce the original match (because details are blurred), the match needs to be adjusted by multiplying by a preset coefficient. This coefficient can be determined experimentally or empirically to ensure that the final match accurately reflects the true degree of matching between the point and the map.
[0067] Calculating the root mean square error (RMSE) of the adjusted match for each point is to obtain a comprehensive metric for evaluating the matching quality between the entire point cloud and the map. The smaller the RMSE, the more accurate and consistent the match.
[0068] This "second laser matching degree" is a summary statistic that provides a quantitative assessment of the alignment between the point cloud and the overall map.
[0069] Finally, this calculated second laser matching degree is used as the robot's "positioning reliability," a metric that measures the accuracy and reliability of the robot's current position estimation.
[0070] In some embodiments, filtering the first point cloud data to obtain the second point cloud data includes:
[0071] The first point cloud data is filtered by voxel filtering to reduce the number of points in the first point cloud data while keeping the shape features unchanged, thereby obtaining the second point cloud data.
[0072] In some embodiments, see Figure 2 , Figure 2 This is a flowchart illustrating steps S201-S203 provided in the embodiments of this application. The filtering process of the first point cloud data by voxel filtering can be implemented through steps S201-S203, which will be explained in conjunction with each step.
[0073] In step S201, a defined voxel is determined based on the first point cloud data, wherein the defined voxel is a cube and the volume of the defined voxel is a preset value.
[0074] In step S202, the first point cloud data is divided into at least one cubic unit corresponding to the defined voxel according to the defined voxel to obtain a three-dimensional voxel grid, wherein each grid in the three-dimensional voxel grid represents a specific spatial region in the first point cloud data.
[0075] In step S203, for each grid, all points in the grid are represented by the centroid of all points within the grid to obtain the second point cloud data.
[0076] Here, in the process of "filtering the first point cloud data to obtain the second point cloud data", the "voxel filtering" technique can be used. Voxel filtering is a technique to reduce the amount of point cloud data in three-dimensional space. Its basic idea is to divide the entire 3D space into a fixed-size cubic grid, and these cubes are called "voxels".
[0077] Each voxel may contain multiple point cloud data points. The purpose of voxel filtering is to represent the voxel using the statistical characteristics (usually the average position) of all points within the voxel, thereby reducing the number of points.
[0078] In the specific implementation process, it can be achieved through the following steps:
[0079] Defining Voxel Size: First, you need to define the voxel size. This size can be adjusted based on the application scenario and the required data precision. Larger voxels will result in more drastic data reduction, but may lose some detail.
[0080] Spatial partitioning: The 3D space containing point cloud data is divided into multiple voxels. The boundary of each voxel is defined by its coordinates.
[0081] Intravoxel data processing: For each voxel, examine all points within it and calculate the statistical properties of these points. The most common method is to calculate the average position of all points within the voxel and then use this average position to represent all points in that voxel; in this application, the centroid is used. This method is slower than approximating using the voxel center, but it provides a more accurate representation of the surface corresponding to the sampled points.
[0082] Generating new point cloud data: After the above processing, each original voxel is now replaced by one or a few representative points. These representative points are aggregated to form the filtered second point cloud data.
[0083] like Figure 5a and 5b As shown, Figure 5a The first point cloud data map provided in the embodiments of this application, Figure 5b The second point cloud data map provided in this application embodiment, through the above method, Figure 5b The density of the overall point cloud of the radar is compared to Figure 5a It tends to be more consistent, avoiding too many point clouds in the foreground and too few point clouds in the background. In this way, the overall point cloud matching degree will not be affected by a large number of point clouds in the foreground, and the problem of high matching degree in the background but sparse point clouds will be ignored.
[0084] In some embodiments, smoothing the first grid map to obtain the second grid map includes:
[0085] The high-frequency components of the first grid map are filtered by Gaussian low-pass filtering, while the low-frequency components of the first grid map are retained. Gaussian blurring is then applied to the first grid map to obtain the second grid map.
[0086] In some embodiments, see Figure 3 , Figure 3 This is a flowchart illustrating steps S301-S302 provided in the embodiments of this application. The step of filtering the high-frequency components of the first grid map based on Gaussian low-pass filtering and retaining the low-frequency components of the first grid map, thereby performing Gaussian blurring on the first grid map to obtain the second grid map, can be achieved through steps S301-S302, which will be explained in conjunction with each step.
[0087] In step S301, a Gaussian kernel matrix is defined, wherein the smoothness of the Gaussian kernel matrix is determined based on the size and variance of the matrix.
[0088] In step S302, each pixel in the first grid map is scanned by the Gaussian kernel matrix, and the value of the center pixel of the Gaussian kernel matrix is replaced by the weighted average gray value of the pixels in the neighborhood determined by the Gaussian kernel matrix, so as to obtain the smoothed second grid map.
[0089] Here, the process of "smoothing the first grid map to obtain the second grid map" can be achieved using the "Gaussian low-pass filtering" technique.
[0090] Gaussian filtering includes many types, such as low-pass, band-pass, and high-pass. Usually, Gaussian filtering on an image refers to Gaussian blur, which is a type of Gaussian low-pass filtering. It filters out high-frequency components (details of the image) and retains low-frequency components (smooth areas of the image). Therefore, after Gaussian blurring, the image becomes blurred.
[0091] Gaussian low-pass filtering is an image processing technique whose main purpose is to remove high-frequency components (i.e., details and noise) from an image while preserving low-frequency components (i.e., the main structure and contours of the image). The definition of high and low frequencies can be adjusted according to actual needs. In this application, high-frequency components represent rapid changes in the image, such as edges, details, and noise. Low-frequency components represent slow changes in the image, such as the background, main structure, and contours.
[0092] Gaussian filters work by performing a convolution operation with the image. During convolution, the new value of each pixel is a weighted average of its surrounding pixels, with the weights determined according to a Gaussian distribution.
[0093] In the specific implementation process, firstly, a Gaussian kernel needs to be defined. This is a two-dimensional matrix whose values are distributed according to a Gaussian function. The size and standard deviation of the kernel can be adjusted as needed. The defined Gaussian kernel is then convolved with the first grid map. This means placing the center of the kernel on each pixel of the map, and then calculating the weighted sum of the kernel and map pixels to obtain the new pixel value. Due to the characteristics of the Gaussian filter, high-frequency components (such as noise and details) are effectively filtered out, while low-frequency components (such as the main structure) are preserved.
[0094] Through the convolution operation described above, each pixel in the first grid map is replaced by a weighted average of its surrounding pixels, resulting in a "blurred" image. This blurring effect is due to the reduction of high-frequency components and the preservation of low-frequency components. This blurring process helps smooth irregularities and noise in the map, making it smoother and more continuous. The map obtained after Gaussian blurring is the second grid map. Compared to the original first grid map, the second grid map is smoother, with details and noise filtered out, but the main structure and contours are preserved.
[0095] In some embodiments, see Figure 4 , Figure 4 This is a flowchart illustrating steps S401-S402 provided in the embodiments of this application. The step of calculating the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map can be achieved through steps S401-S402, which will be explained in conjunction with each step.
[0096] In step S401, for each current point, the target grid in the second grid map where the current point is located is determined, and based on the four corner points of the target grid, the four points around the current point and the pixel values corresponding to the four points are determined.
[0097] In step S402, the pixel value of the current point is calculated by weighting the pixel values of the four points and the relative positional relationship between the four points and the current point, and the pixel value of the current point is used as the matching degree between the current point and the second grid map.
[0098] Here, for each current point in the second point cloud data, its position in the second grid map must first be determined. This position is usually a specific grid, which can be called the "target grid".
[0099] Once the target grid where the current point is located is determined, the coordinates and corresponding pixel values of the four corner points of that grid can be obtained. In a grid map, each grid is usually a square or rectangle, and therefore has four corner points.
[0100] Next, based on the four corner points of the target grid, four points surrounding the current point are determined. These four points are typically the intersections of the lines connecting the current point to the four corner points of the target grid and the grid boundary. The pixel values corresponding to these four intersection points in the second grid map are obtained. These pixel values reflect the terrain or obstacle information of these four points. Based on the pixel values of the four intersection points and their relative positions to the current point, the pixel value of the current point is calculated using a weighted ratio. This calculation process considers the influence of surrounding points on the current point; points closer to the current point have a greater weight.
[0101] It should be noted that, in the embodiments of this application, calculations can be performed using any four surrounding points, and using four corner points can make the calculation results more accurate.
[0102] The pixel value obtained through the above calculations actually reflects the similarity or matching degree between that point and the second grid map at that location. Therefore, this calculated pixel value can be used as the matching degree between the current point and the second grid map.
[0103] This method of calculating the matching degree provides a quantitative matching metric for each point in the point cloud data, helping to evaluate the overall alignment accuracy between the point cloud data and the grid map. A high matching degree means that the point cloud data and the map are highly consistent at that location, while a low matching degree may indicate errors or inconsistencies.
[0104] This matching information can be used for various autonomous robot navigation tasks, such as pose optimization, environment modeling, and obstacle recognition, thereby improving the robot's navigation accuracy and autonomy.
[0105] Please see Figure 6 , Figure 6 This is a schematic diagram illustrating the principle of bilinear interpolation for calculating matching scores provided in an embodiment of this application. Figure 6 As shown, P(x, y) represents the current point, Q11(x1, y1), Q12(x1, y2), Q21(x2, y1), and Q22(x2, y2) represent the four surrounding points, f(Q11) represents the pixel value of point Q11, f(Q12) represents the pixel value of point Q12, f(Q21) represents the pixel value of point Q21, and f(Q22) represents the pixel value of point Q22. Additionally, interpolation points R1(x, y1) and R2(x, y2) are introduced for bilinear interpolation calculation. For the pixel value f(R1) of R1 and the pixel value f(R2) of R2, we have:
[0106]
[0107]
[0108] Finally, the pixel value f(P) of the current point P can be calculated as follows:
[0109]
[0110] In some embodiments, multiplying the matching degree of each current point by a preset coefficient includes:
[0111] When the matching degree of the current point is greater than the score threshold, the matching degree of the current point is multiplied by the first coefficient. When the matching degree of the current point is less than the score threshold, the matching degree of the current point is multiplied by the second coefficient, where the second coefficient is 1 and the first coefficient is greater than the second coefficient.
[0112] Here, after obtaining the matching score between a point cloud and the map, a conditional judgment is needed. If the score is greater than a set threshold, it is multiplied by a first coefficient; if it is less than the threshold, it is multiplied by a second coefficient. The set score threshold is 0.26, the first coefficient is 1.16, and the second coefficient is 1. The first coefficient must be greater than the second coefficient because the map has undergone Gaussian smoothing, which generally reduces the pixel values. Calculating the matching score based on this value would result in a lower final score. Therefore, it is generally necessary to multiply by another coefficient to make the final matching score higher. The specific value of the first coefficient can be adjusted according to the actual situation. Finally, the root mean square error norm of the matching scores of all points is the matching score of the current pose, which is also the positioning confidence of the robot's current pose.
[0113] Based on the same inventive concept, this application also provides a location reliability processing device corresponding to the location reliability processing method in the first embodiment. Since the principle of the device in this application is similar to the location reliability processing method described above, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be described again.
[0114] like Figure 7 As shown, Figure 7 This is a schematic diagram of the location reliability processing device 700 provided in an embodiment of this application. The location reliability processing device 700 includes:
[0115] The acquisition module 701 is used to acquire first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data.
[0116] The first processing module 702 is used to filter the first point cloud data to obtain the second point cloud data, and to smooth the first grid map to obtain the second grid map, wherein the number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data.
[0117] The calculation module 703 is used to calculate the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map;
[0118] The second processing module 704 is used to multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point, calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree, and use the second laser matching degree as the positioning confidence.
[0119] Those skilled in the art should understand that Figure 7 The functions of each unit in the location-based reliability processing device 700 shown can be understood by referring to the relevant description of the aforementioned location-based reliability processing method. Figure 7 The functions of each unit in the location reliability processing device 700 shown can be implemented by a program running on a processor or by specific logic circuits.
[0120] In one possible implementation, the first processing module 702 filters the first point cloud data to obtain second point cloud data, including:
[0121] The first point cloud data is filtered by voxel filtering to reduce the number of points in the first point cloud data while keeping the shape features unchanged, thereby obtaining the second point cloud data.
[0122] In one possible implementation, the first processing module 702 performs voxel filtering on the first point cloud data, including:
[0123] Based on the first point cloud data, a defined voxel is determined, wherein the defined voxel is a cube, and the volume of the defined voxel is a preset value;
[0124] The first point cloud data is divided into at least one cubic unit corresponding to the defined voxel according to the defined voxel to obtain a three-dimensional voxel grid, wherein each grid in the three-dimensional voxel grid represents a specific spatial region in the first point cloud data.
[0125] For each grid, all points in the grid are represented by the centroid of all points within the grid, thus obtaining the second point cloud data.
[0126] In one possible implementation, the first processing module 702 performs smoothing processing on the first grid map to obtain a second grid map, including:
[0127] The high-frequency components of the first grid map are filtered by Gaussian low-pass filtering, while the low-frequency components of the first grid map are retained. Gaussian blurring is then applied to the first grid map to obtain the second grid map.
[0128] In one possible implementation, the first processing module 702 filters the high-frequency components of the first grid map based on a Gaussian low-pass filter, while retaining the low-frequency components of the first grid map, thereby performing Gaussian blurring on the first grid map to obtain the second grid map, including:
[0129] Define a Gaussian kernel matrix, wherein the smoothness of the Gaussian kernel matrix is determined based on the size and variance of the matrix;
[0130] The first grid map is obtained by scanning each pixel in the first grid map using the Gaussian kernel matrix and replacing the value of the center pixel of the Gaussian kernel matrix with the weighted average gray value of the pixels in the neighborhood determined by the Gaussian kernel matrix.
[0131] In one possible implementation, the calculation module 703 calculates the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map, including:
[0132] For each current point, determine the target grid in the second grid map where the current point is located, and determine the four points around the current point and the pixel values corresponding to the four points based on the four corner points of the target grid.
[0133] Based on the pixel values corresponding to the four points and the relative positional relationship between the four points and the current point, the pixel value of the current point is calculated by weighting the ratio, and the pixel value of the current point is used as the matching degree between the current point and the second grid map.
[0134] In one possible implementation, the second processing module 704 multiplies the matching degree of each current point by a preset coefficient, including:
[0135] When the matching degree of the current point is greater than the score threshold, the matching degree of the current point is multiplied by the first coefficient. When the matching degree of the current point is less than the score threshold, the matching degree of the current point is multiplied by the second coefficient, where the second coefficient is 1 and the first coefficient is greater than the second coefficient.
[0136] like Figure 8 As shown, Figure 8This is a schematic diagram of the composition structure of the electronic device 800 provided in the embodiments of this application. The electronic device 800 includes:
[0137] The device 800 includes a processor 801, a storage medium 802, and a bus 803. The storage medium 802 stores machine-readable instructions that can be executed by the processor 801. When the electronic device 800 is running, the processor 801 communicates with the storage medium 802 via the bus 803. The processor 801 executes the machine-readable instructions to perform the steps of the location confidence processing method described in the embodiments of this application.
[0138] In practical applications, the various components in the electronic device 800 are coupled together via bus 803. It can be understood that bus 803 is used to achieve communication between these components. In addition to a data bus, bus 803 also includes a power bus, a control bus, and a status signal bus. However, for clarity, in... Figure 8 The general labeled all buses as Bus 803.
[0139] This application also provides a computer-readable storage medium storing executable instructions. When the executable instructions are executed by at least one processor 801, the location confidence processing method described in this application is implemented.
[0140] In some embodiments, the storage medium may be a magnetic random access memory (FRAM), a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a flash memory, a magnetic surface memory, an optical disc, or a compact disc read-only memory (CDROM), etc.; or it may be a device that includes one or any combination of the above-mentioned memories.
[0141] In some embodiments, executable instructions may take the form of a program, software, software module, script, or code, written in any form of programming language (including compiled or interpreted languages, or declarative or procedural languages), and may be deployed in any form, including as a standalone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
[0142] As an example, executable instructions may, but do not necessarily, correspond to files in the file system. They may be stored as part of a file that holds other programs or data, for example, in one or more scripts in a HyperText Markup Language (HTML) document, in a single file dedicated to the program in question, or in multiple collaborating files (e.g., a file that stores one or more modules, subroutines, or code sections).
[0143] As an example, executable instructions can be deployed to execute on a single computing device, or on multiple computing devices located in one location, or on multiple computing devices distributed across multiple locations and interconnected via a communication network.
[0144] In the several embodiments provided in this application, it should be understood that the disclosed methods and electronic devices can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods, such as: multiple units or components may be combined, or integrated into another system, or some features may be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the various components shown or discussed may be through some interfaces, and the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.
[0145] The modules described as separate components may or may not be physically separate. The components shown as modules may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0146] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0147] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a processor-executable, non-volatile, computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, a platform server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, ROM, RAM, magnetic disks, or optical disks.
[0148] The above are merely specific embodiments of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A method for processing location-based reliability, characterized in that, The method includes: Acquire first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data; The first point cloud data is filtered to obtain the second point cloud data, and the first grid map is smoothed to obtain the second grid map. The number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data. The matching degree between each current point in the second point cloud data and the second grid map is calculated based on the second point cloud data and the second grid map; Multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point. Calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree. Use the second laser matching degree as the positioning confidence.
2. The method according to claim 1, characterized in that, The step of filtering the first point cloud data to obtain the second point cloud data includes: The first point cloud data is filtered by voxel filtering to reduce the number of points in the first point cloud data while keeping the shape features unchanged, thereby obtaining the second point cloud data.
3. The method according to claim 2, characterized in that, The filtering process of the first point cloud data using voxel filtering includes: Based on the first point cloud data, a defined voxel is determined, wherein the defined voxel is a cube, and the volume of the defined voxel is a preset value; The first point cloud data is divided into at least one cubic unit corresponding to the defined voxel according to the defined voxel to obtain a three-dimensional voxel grid, wherein each grid in the three-dimensional voxel grid represents a specific spatial region in the first point cloud data. For each grid, all points in the grid are represented by the centroid of all points within the grid, thus obtaining the second point cloud data.
4. The method according to claim 1, characterized in that, The process of smoothing the first grid map to obtain the second grid map includes: The high-frequency components of the first grid map are filtered by Gaussian low-pass filtering, while the low-frequency components of the first grid map are retained. Gaussian blurring is then applied to the first grid map to obtain the second grid map.
5. The method according to claim 4, characterized in that, The process of filtering the high-frequency components of the first grid map using Gaussian low-pass filtering while retaining the low-frequency components, and then performing Gaussian blurring on the first grid map to obtain the second grid map, includes: Define a Gaussian kernel matrix, wherein the smoothness of the Gaussian kernel matrix is determined based on the size and variance of the matrix; The first grid map is obtained by scanning each pixel in the first grid map using the Gaussian kernel matrix and replacing the value of the center pixel of the Gaussian kernel matrix with the weighted average gray value of the pixels in the neighborhood determined by the Gaussian kernel matrix.
6. The method according to claim 1, characterized in that, The step of calculating the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map includes: For each current point, determine the target grid in the second grid map where the current point is located, and determine the four points around the current point and the pixel values corresponding to the four points based on the four corner points of the target grid. Based on the pixel values corresponding to the four points and the relative positional relationship between the four points and the current point, the pixel value of the current point is calculated by weighting the ratio, and the pixel value of the current point is used as the matching degree between the current point and the second grid map.
7. The method according to claim 1, characterized in that, The step of multiplying the matching degree of each current point by a preset coefficient includes: When the matching degree of the current point is greater than the score threshold, the matching degree of the current point is multiplied by the first coefficient. When the matching degree of the current point is less than the score threshold, the matching degree of the current point is multiplied by the second coefficient, where the second coefficient is 1 and the first coefficient is greater than the second coefficient.
8. A location-based reliability processing device, characterized in that, The device includes: The acquisition module is used to acquire first point cloud data, wherein the first point cloud data corresponds to a laser matching degree, and the laser matching degree characterizes the registration effect of the first point cloud data. The first processing module is used to filter the first point cloud data to obtain the second point cloud data, and to smooth the first grid map to obtain the second grid map, wherein the number of points in the second point cloud data is less than the number of points in the first point cloud data, and the point cloud shape features of the second point cloud data are the same as the shape features of the first point cloud data. The calculation module is used to calculate the matching degree between each current point in the second point cloud data and the second grid map based on the second point cloud data and the second grid map; The second processing module is used to multiply the matching degree of each current point by a preset coefficient to obtain the actual matching degree of each current point, calculate the root mean square error of the actual matching degree of each current point to obtain the second laser matching degree, and use the second laser matching degree as the positioning confidence.
9. An electronic device, characterized in that, include: The device includes a processor, a storage medium, and a bus, wherein the storage medium stores machine-readable instructions executable by the processor, and when the electronic device is in operation, the processor communicates with the storage medium via the bus, and the processor executes the machine-readable instructions to perform the location confidence processing method as described in any one of claims 1 to 7.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, performs the location confidence processing method as described in any one of claims 1 to 7.