Robot positioning method and device and storage medium
By fine feature extraction and weighted matching of point cloud data collected by robot environment perception sensors, the problem of insufficient robustness of laser positioning technology in dynamic and messy environments is solved, and more efficient and reliable robot autonomous navigation is achieved.
Patent Information
- Application Number
- CN202510212194.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-25
- Publication Date
- 2025-05-27
AI Technical Summary
The existing laser positioning technology is not robust enough in dynamic and chaotic environments, resulting in abnormal positioning of robots, affecting task execution efficiency and may cause safety problems.
By performing more refined feature extraction of current point cloud data collected by environment-aware sensors on the robot, and adopting a more flexible weighted matching strategy, improving the accuracy and robustness of positioning.
It significantly improves the robot's autonomous navigation capabilities, allowing it to operate more stably and efficiently in dynamic and chaotic environments, and improves the accuracy and reliability of positioning.
Smart Images

Figure CN120047535A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of positioning technology, and in particular, to a positioning method, device, and storage medium for a robot. Background Art
[0002] Robot positioning technology is the core of robot autonomous navigation, and its accuracy and stability directly affect the working performance of the robot. In recent years, the positioning method based on lidar has become the mainstream solution due to its high precision and real-time performance. This method calculates the position and pose of the robot in the environment by matching the two-dimensional lidar point cloud collected by the robot in real time with the point cloud of the pre-constructed environmental map. This technology has been widely applied in scenarios such as food delivery robots, cleaning robots, and factory handling robots.
[0003] However, the existing lidar positioning technology still faces challenges in practical applications. This is because lidar can only provide geometric information of the environment and lacks semantic features, resulting in insufficient robustness in dynamic and cluttered environments. For example, in a banquet hall scenario, moving tables and chairs can cause incorrect matching between the lidar point cloud and the map point cloud, leading to positioning anomalies; in a factory environment, frequently changing product placements can also interfere with the normal operation of the positioning system. These environmental changes can cause the robot to lose its position or drift, affecting its task execution efficiency and even causing safety problems.
[0004] Therefore, it is of great practical significance to develop a robot positioning method that can work stably in dynamic and cluttered environments. Summary of the Invention
[0005] In view of this, the purpose of the present application is to provide a positioning method, device, and storage medium for a robot, which can improve the accuracy and robustness of positioning through more refined feature extraction and more flexible weighted matching strategies, thereby significantly enhancing the robot's autonomous navigation ability and enabling it to operate more stably and efficiently in dynamic and cluttered environments.
[0006] The embodiment of the present application provides a positioning method for a robot, and the positioning method includes:
[0007] Performing feature extraction processing on the current point cloud data collected by the environmental perception sensor on the robot;
[0008] Determining that geometric features meeting the requirements are extracted, and performing weighted matching on the current point cloud data and the geometric features with an environmental feature map, where the geometric features at least include one of linear features, circular features, and arc features;
[0009] Determining the current pose of the robot based on the matching result.
[0010] Optionally, when the geometric feature is a circular feature and / or an arc feature, the geometric feature extraction is performed through the following steps:
[0011] Project the current point cloud data onto a two-dimensional plane, and construct a grid probability map according to the point cloud density after projection;
[0012] Map the probability values in the grid probability map to the grayscale value range to obtain a grayscale image;
[0013] Perform convolution processing on the grayscale image, and perform geometric shape recognition on the convolved image to determine a set of candidate center points;
[0014] For each candidate center point in the set of candidate center points, determine whether the candidate center point is the target center point according to the consistency result of the interval distance between the candidate center point and each surrounding pixel point;
[0015] For each target center point, extract the circular feature or arc feature corresponding to the target center point according to the set of line segments formed by the target center point and its surrounding pixel points.
[0016] Optionally, determine whether the extracted geometric feature meets the requirements through the following steps:
[0017] Perform point cloud matching processing on the current point cloud corresponding to the extracted geometric feature and the feature point cloud in the environmental feature map to determine a set of feature matching point pairs;
[0018] Identify whether the number of the feature matching point pairs is greater than a preset number of point pairs;
[0019] If it is greater, determine that the extracted geometric feature meets the requirements; otherwise, determine that the extracted geometric feature does not meet the requirements.
[0020] Optionally, the weighted matching based on the current point cloud data and the geometric feature with the environmental feature map includes:
[0021] Construct an initial correlation matrix representing the geometric relationship between the current point cloud data and the environmental feature map according to the point cloud matching relationship between the current point cloud data and the environmental feature map;
[0022] Perform weighted processing on the initial correlation matrix using the geometric feature to determine a weighted correlation matrix.
[0023] Optionally, construct the initial correlation matrix through the following steps:
[0024] Perform point cloud matching processing on the current point cloud data and the environmental feature map to determine a set of initial matching point pairs;
[0025] Calculate the first centroid of the current point cloud data and the second centroid of the environmental feature map respectively;
[0026] Calculate the relative transformation relationship between the point clouds using the first centroid, the second centroid, and the initial matching point pairs to obtain the initial correlation matrix.
[0027] Optionally, the weighting the initial correlation matrix according to the geometric features to determine the weighted correlation matrix includes:
[0028] Determine the third weighted centroid according to the current point cloud corresponding to the geometric features;
[0029] Use the third weighted centroid and the fourth weighted centroid corresponding to the environmental feature map to correct the initial correlation matrix to obtain a candidate correlation matrix;
[0030] Use the weight information of the feature matching point pairs determined according to the geometric features to weight the corresponding initial matching point pairs in the candidate correlation matrix to obtain the weighted correlation matrix.
[0031] Optionally, the matching result includes the weighted correlation matrix, and the determining the current pose of the robot based on the matching result includes:
[0032] Solve the weighted correlation matrix to determine the relative pose between the current point cloud data and the environmental feature map;
[0033] According to the pose conversion relationship between the robot and the environmental perception sensor, perform a conversion process on the relative pose to determine the current pose of the robot.
[0034] Optionally, after determining that no geometric features meeting the requirements are extracted, the positioning method further includes:
[0035] Match based on the current point cloud data and the environmental feature map to construct an initial correlation matrix;
[0036] Solve the initial correlation matrix to determine the current pose of the robot.
[0037] An embodiment of the present application further provides a positioning device for a robot, and the positioning device includes:
[0038] An extraction module, configured to perform feature extraction processing on the current point cloud data collected by an environmental perception sensor on the robot;
[0039] A weighting module, configured to determine that geometric features meeting requirements are extracted, and perform weighted matching with an environmental feature map based on the current point cloud data and the geometric features, where the geometric features at least include one of a linear feature, a circular feature, and an arc feature;
[0040] A positioning module, configured to determine the current pose of the robot based on the matching result.
[0041] Optionally, when the geometric feature is a circular feature and / or an arc feature, the extraction module is configured to extract geometric features through the following steps:
[0042] Project the current point cloud data onto a two-dimensional plane, and construct a grid probability map according to the point cloud density after projection;
[0043] Map the probability values in the grid probability map to a grayscale value range to obtain a grayscale image;
[0044] Perform convolution processing on the grayscale image, and perform geometric shape recognition on the convolved image to determine a set of candidate center points;
[0045] For each candidate center point in the set of candidate center points, determine whether the candidate center point is a target center point according to the consistency result of the interval distance between the candidate center point and each surrounding pixel point;
[0046] For each target center point, extract the circular feature or arc feature corresponding to the target center point according to the set of line segments formed by the target center point and its surrounding pixel points.
[0047] Optionally, the positioning device further includes a judgment module, and the judgment module is configured to determine whether the extracted geometric features meet requirements through the following steps:
[0048] Perform point cloud matching processing on the current point cloud corresponding to the extracted geometric features and the feature point cloud in the environmental feature map to determine a set of feature matching point pairs;
[0049] Identify whether the number of the set of feature matching point pairs is greater than a preset number of point pairs;
[0050] If it is greater, determine that the extracted geometric features meet requirements; otherwise, determine that the extracted geometric features do not meet requirements.
[0051] Optionally, when the weighting module performs weighted matching with the environmental feature map based on the current point cloud data and the geometric features, the weighting module is configured to:
[0052] Construct an initial correlation matrix representing the geometric relationship between the current point cloud data and the environmental feature map according to the point cloud matching relationship between the current point cloud data and the environmental feature map;
[0053] Use the geometric features to weight the initial correlation matrix to determine a weighted correlation matrix.
[0054] Optionally, the weighting module is further configured to construct an initial correlation matrix through the following steps:
[0055] Perform point cloud matching processing on the current point cloud data and the environmental feature map to determine initial matching point pairs;
[0056] Calculate the first centroid of the current point cloud data and the second centroid of the environmental feature map respectively;
[0057] Calculate the relative transformation relationship between the point clouds using the first centroid, the second centroid, and the initial matching point pairs to obtain the initial correlation matrix.
[0058] Optionally, when the weighting module is used to weight the initial correlation matrix according to the geometric features to determine a weighted correlation matrix, the weighting module is configured to:
[0059] Determine a third weighted centroid according to the current point cloud corresponding to the geometric features;
[0060] Use the third weighted centroid and the fourth weighted centroid corresponding to the environmental feature map to correct the initial correlation matrix to obtain a candidate correlation matrix;
[0061] Use the weight information of the feature matching point pairs determined according to the geometric features to weight the corresponding initial matching point pairs in the candidate correlation matrix to obtain a weighted correlation matrix.
[0062] Optionally, the matching result includes a weighted correlation matrix. When the positioning module is used to determine the current pose of the robot based on the matching result, the positioning module is configured to:
[0063] Solve the weighted correlation matrix to determine the relative pose between the current point cloud data and the environmental feature map;
[0064] Perform a conversion process on the relative pose according to the pose conversion relationship between the robot and the environmental perception sensor to determine the current pose of the robot.
[0065] Optionally, the positioning device is further configured to:
[0066] After determining that no geometric features meeting the requirements are extracted, perform matching based on the current point cloud data and the environmental feature map to construct an initial correlation matrix;
[0067] Solve the initial correlation matrix to determine the current pose of the robot.
[0068] An embodiment of the present application further provides an electronic device, including: a processor, a memory, and a bus. The memory stores machine-readable instructions executable by the processor. When the electronic device runs, the processor communicates with the memory through the bus. When the machine-readable instructions are executed by the processor, the steps of the positioning method as described above are executed.
[0069] An embodiment of the present application further provides a computer-readable storage medium. A computer program is stored on the computer-readable storage medium. When the computer program is run by a processor, the steps of the positioning method as described above are executed.
[0070] A positioning method, device, and storage medium for a robot provided by an embodiment of the present application. The positioning method includes: performing feature extraction processing on current point cloud data collected by an environmental perception sensor on the robot; determining that geometric features meeting requirements are extracted, and performing weighted matching with an environmental feature map based on the current point cloud data and the geometric features. The geometric features include at least one of a linear feature, a circular feature, and an arc feature; determining the current pose of the robot based on the matching result.
[0071] In this way, by performing feature extraction processing on the current point cloud data collected by the environmental perception sensor on the robot, the present application can accurately identify important geometric features in the environment, and then perform weighted matching between the extracted geometric features and a pre-constructed environmental feature map, which can greatly improve the accuracy of matching, thereby improving the accuracy of the determined result of the current pose of the robot. And when performing feature extraction, the present application performs multi-feature extraction (such as linear features, circular features, and arc features), which can more accurately identify and match key structural elements in the environment, further improving the robustness and accuracy of positioning, and then significantly improving the autonomous navigation ability of the robot, enabling it to operate more stably and efficiently in a dynamic and cluttered environment.
[0072] To make the above objects, features, and advantages of the present application more obvious and understandable, the following specifically enumerates preferred embodiments and, in conjunction with the accompanying drawings, provides a detailed description as follows. Description of the Drawings
[0073] To more clearly illustrate the technical solutions of the embodiments of the present application, the following briefly introduces the drawings required for the embodiments. It should be understood that the following drawings only show some embodiments of the present application and should not be regarded as limiting the scope. For those of ordinary skill in the art, other related drawings can be obtained based on these drawings without creative efforts.
[0074] Figure 1 It is a flowchart of a positioning method for a robot provided by an embodiment of the present application.
[0075] Figure 2 An example of the geometric feature extraction effect provided for this application;
[0076] Figure 3 A schematic diagram of the overall effect of point cloud matching provided for this application;
[0077] Figure 4 A rendering of the geometric feature matching provided for this application;
[0078] Figure 5 One of the schematic diagrams of the structure of a positioning device for a robot provided by an embodiment of this application;
[0079] Figure 6 Another schematic diagram of the structure of a positioning device for a robot provided by an embodiment of this application;
[0080] Figure 7 A schematic diagram of the structure of an electronic device provided by an embodiment of this application. Detailed implementation manners
[0081] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions in the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of this application. Obviously, the described embodiments are only some of the embodiments of this application, rather than all the embodiments. Usually, the components of the embodiments of this application described and illustrated herein can 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 represents selected embodiments of this application. Based on the embodiments of this application, every other embodiment obtained by those skilled in the art without creative efforts shall fall within the protection scope of this application.
[0082] First, the applicable application scenarios of this application are introduced. This application can be applied to intelligent mobile carriers, specifically intelligent robots that require autonomous navigation and complex environment perception, such as food delivery robots, cleaning robots, and factory handling robots, etc.
[0083] It has been found through research that robot positioning technology is the core of robot autonomous navigation. In recent years, due to the characteristics of high precision and real-time performance, the positioning method based on lidar has become the mainstream solution for robot positioning technology. By matching the two-dimensional lidar point cloud collected by the robot in real time with the point cloud of the pre-constructed environmental map, the position and pose of the robot in the environment are calculated. However, since lidar can only provide geometric information of the environment and lacks semantic features, it leads to insufficient robustness in dynamic and cluttered environments and problems with abnormal positioning. For example, in a banquet hall scenario, moving tables and chairs can cause incorrect matching between the lidar point cloud and the map point cloud, thereby triggering abnormal positioning; in a factory environment, the frequently changing placement of goods can also interfere with the normal operation of the positioning system. These environmental changes can cause the robot to lose its position or drift, affecting its task execution efficiency and even leading to safety issues.
[0084] Based on this, the embodiments of the present application provide a positioning method, device, and storage medium for a robot. By means of more refined feature extraction and a more flexible weighted matching strategy, the positioning accuracy and robustness are improved, thereby significantly enhancing the robot's autonomous navigation ability and enabling it to operate more stably and efficiently in dynamic and cluttered environments.
[0085] Please refer to Figure 1 , Figure 1 which is a flowchart of a positioning method for a robot provided by an embodiment of the present application. As Figure 1 shown in
[0086] S101. Perform feature extraction processing on the current point cloud data collected by the environmental perception sensor on the robot.
[0087] The environmental perception sensor on the robot can collect point cloud data in real time and perform real-time feature extraction processing each time the current point cloud data is collected.
[0088] S102. Determine that the extracted geometric features meet the requirements, and perform weighted matching with the environmental feature map based on the current point cloud data and the geometric features.
[0089] The extracted geometric features include at least one of linear features, circular features, and arc features.
[0090] S103. Determine the current pose of the robot based on the matching result.
[0091] After each determination of the matching result between point clouds, analyze the matching result to determine the current pose of the robot.
[0092] A positioning method for a robot provided by an embodiment of the present application performs real-time feature extraction processing on the current point cloud data collected by an environmental perception sensor on the robot. When geometric features meeting the requirements are detected in advance, weighted matching is performed based on the extracted geometric features, the current point cloud data, and the environmental feature map, that is, the weight of the geometric features in the point cloud matching process is increased to obtain the matching result at the current moment. Finally, the current pose of the robot is determined through analysis of the matching result.
[0093] In this way, by performing feature extraction processing on the current point cloud data collected by the environmental perception sensor on the robot, the present application can accurately identify important geometric features in the environment. Then, the extracted geometric features are weighted-matched with the pre-constructed environmental feature map, which can greatly improve the accuracy of the matching, thereby enhancing the accuracy of the determined result of the current pose of the robot. Moreover, when performing feature extraction, the present application performs multi-feature extraction (such as linear features, circular features, and arc features), which can more accurately identify and match key structural elements in the environment, further improving the robustness and accuracy of the positioning, and thus significantly enhancing the autonomous navigation ability of the robot, enabling it to operate more stably and efficiently in dynamic and cluttered environments.
[0094] The following describes each step of the embodiment of the present application by way of example:
[0095] Regarding step S101, for an intelligent robot, in order to achieve the goals of improving the intelligence level of the robot, the efficiency and success rate of the tasks performed, etc., it is necessary to determine the pose of the robot in real time.
[0096] In this step, for the robot whose pose needs to be determined in real time, at least one environmental perception sensor is provided on the robot. The environmental information of the surrounding environment is collected through the environmental perception sensor according to a preset acquisition strategy, and feature extraction processing is performed on the currently collected point cloud data each time.
[0097] Here, the environmental perception sensor can be selected from any of the following according to the actual situation: lidar, ultrasonic radar, image perception sensor, stereo vision system, etc.
[0098] The preset acquisition strategy can be any one of the following examples: real-time acquisition, periodic acquisition, acquisition according to the moving distance length, etc., or other methods can also be used.
[0099] The currently collected point cloud data can be a frame of point cloud data, or data determined after fusing multiple frames of point clouds collected by multiple environmental perception sensors at the same time, or the result of fusing multiple frames of point cloud data collected by the same environmental perception sensor within a certain period of time, so as to improve the robustness of the positioning and reduce short-term jitter errors.
[0100] Among them, when performing feature extraction processing on the current point cloud data, specifically, it can be: according to the pre-determined feature type, using the corresponding feature extraction method (at least one) to perform feature extraction processing on the current point cloud data, and determining whether geometric features that meet the requirements can be extracted.
[0101] Exemplarily, the geometric features to be extracted include but are not limited to at least one of the following: linear features, circular features, arc features, etc. Please refer to Figure 2 , Figure 2 which is an example of the geometric feature extraction effect provided by this application. As Figure 2 shown, this figure shows the geometric features determined after performing feature extraction processing on the point cloud data. In Figure 2 , the red part is the extracted geometric features, including straight line features, circular features, and arc features. Among them, the feature extraction methods corresponding to different types of planned features can be the same or different.
[0102] For example, line segments that meet the set length threshold are obtained through LSD or Hough line detectors to obtain straight line features; circular features are extracted by means of Hough or gradient direction. However, when the circle is incomplete, such as a partial arc, Hough cannot detect it, resulting in missing feature extraction.
[0103] Based on this, in order to achieve accurate extraction of geometric features, for circular features and arc features, this application provides an innovative extraction method. Exemplarily, the extraction processing of such geometric features can be performed through the following steps:
[0104] S1011. Project the current point cloud data onto a two-dimensional plane, and construct a grid probability map according to the point cloud density after projection.
[0105] S1012. Map the probability values in the grid probability map to the gray value range to obtain a gray scale image.
[0106] S1013. Perform convolution processing on the gray scale image, and perform geometric shape recognition on the convolved image to determine a set of candidate center points.
[0107] S1014. For each candidate center point in the set of center points, determine whether the candidate center point is the target center point according to the consistency result of the interval distance between the candidate center point and each surrounding pixel point.
[0108] S1015. For each target center point, extract the circular feature or arc feature corresponding to the target center point according to the set of line segments formed by the target center point and its surrounding pixel points.
[0109] For step S1011, this step may specifically include: preprocessing the current point cloud data (such as filtering or noise reduction), and projecting the preprocessed current point cloud data onto a selected two-dimensional plane; then mapping the point cloud data on the two-dimensional plane into a rasterized grid, and calculating the point cloud density of each grid; finally, assigning a probability value to each grid according to the point cloud density to generate a grid probability map.
[0110] Here, when projecting the current point cloud data onto the two-dimensional plane, for example, orthogonal projection or perspective projection can be used, and the specific choice depends on the application scenario.
[0111] The projected two-dimensional plane, for example, can be the ground plane.
[0112] The grid size can be determined adaptively.
[0113] When assigning a probability value to each grid according to the point cloud density, the higher the density, the greater the probability value, indicating that the possibility of an obstacle existing in this area is higher.
[0114] For step S1012, this step may include: for each grid in the grid probability map, mapping the probability value of the grid to a grayscale value range (for example, 0 to 255), and then storing the mapped grayscale value in a two-dimensional array to form a grayscale image.
[0115] Here, linear mapping or non-linear mapping (such as logarithmic mapping) can be used for mapping.
[0116] For step S1013, this step may include: performing convolution processing on the grayscale image according to the convolution kernel to enhance the feature information; then performing geometric shape recognition on the convolved image; finally, according to the recognized circular features, determining the center of each circular feature, and determining a set of candidate center points according to all the centers. The convolution kernel can be determined according to the scene features. For example, in a banquet hall with many straight features, the Laplacian convolution kernel can be used to enhance the edge and detail features.
[0117] Here, when performing geometric shape recognition on the convolved image, for example, the Hough transform can be used for geometric shape recognition.
[0118] For step S1014, this step may include: for each candidate center point in the set of center points, calculating the Euclidean distance between the candidate center point and each surrounding pixel point, and performing statistical analysis on these distances to determine whether the distances are consistent.
[0119] If the distances between the candidate center point and the surrounding pixel points show consistency (for example, all distances are within a small error range), then the candidate center point is considered a target center point; otherwise, the candidate center point is determined to be a non-center point.
[0120] In addition, if there are pixel points around the candidate center point whose interval distances from the candidate center are all within the set distance range and exceed the preset number, then the candidate center point is determined to be a target center point. Among them, the set distance range is determined according to the interval distances between the candidate center point and all the surrounding pixel points. The set distance range can be determined according to the environmental characteristics of the application scenario. For example, the radius is determined according to the perimeter of the column in the banquet hall, and a range interval within a certain fluctuation range above and below the theoretical radius value is determined as the set distance range according to this theoretical radius value. For example, 90% - 110% of the theoretical radius value.
[0121] Here, when making the consistency judgment, a threshold can also be set to judge the consistency of the distances. If it exceeds the threshold, the candidate center point is excluded.
[0122] For step S1015, this step may include: for each target center point, select the surrounding pixel points within a certain range with this target center point as the center; connect the target center point and each surrounding pixel point to form a set of line segments corresponding to this target center; finally, according to the set of line segments, perform circle feature and circular feature extraction processing to obtain the circle feature or arc feature corresponding to this target center.
[0123] Here, when extracting the circle feature according to the set of line segments, the radius consistency judgment can be performed first, and then the central angle distribution recognition. When both are satisfied, the circle feature is extracted.
[0124] When extracting the arc feature according to the set of line segments, the local radius consistency recognition can be performed first to determine whether it is an arc; if so, then the central angle range recognition is performed to determine the start and end angles of the arc; finally, it is judged whether it is a smooth arc through the curvature change of the line segment. If so, extraction is performed to obtain the arc feature.
[0125] In this way, when extracting circular features or arc features, through two-dimensional projection and rasterization processing, the data complexity is reduced and the influence of noise is decreased; then, through convolution processing and geometric shape recognition, the expressiveness of circular features is enhanced, and candidate center points are preliminarily screened out; and through distance consistency and line segment set analysis, the accurate positioning of the center points is ensured; finally, for the line segment set formed by the target center points and the surrounding pixel points screened out, the complete extraction of circular and arc features is carried out, significantly improving the detection accuracy and robustness. Therefore, this technical means makes the extraction process of circular features and arc features not only simple but also more reliable and accurate, and can effectively extract arc features compared with the prior art, thus being applicable to various complex actual application scenarios. In the actual application process, especially in the catering scenario, the environment is complex and changeable. Even if there are fixed cylindrical objects in the scene for positioning according to circular features, for example, in the banquet hall scenario, there are still situations where the cylindrical object is partially blocked by movable dining tables, chairs, people, etc. At this time, it is difficult to extract complete circular features. Therefore, through the extraction and recognition of arc features for weighted positioning matching, the robustness of positioning can be further improved.
[0126] After step S101 is executed, the extracted geometric features are judged. If geometric features meeting the requirements are extracted, step S102 is executed; if geometric features meeting the requirements are not extracted, step S301 is executed.
[0127] When determining whether the extracted geometric features meet the requirements, it can be judged according to the number of the extracted geometric features, or according to the type of the extracted geometric features, or according to the point cloud data corresponding to the extracted geometric features, etc. Or judge comprehensively based on the number, type of geometric features and the corresponding point cloud data. It is not limited here.
[0128] Regarding step S102, this step is executed after geometric features meeting the requirements are determined to be extracted.
[0129] In an implementation manner provided by the present application, the following steps are used to determine whether the extracted geometric features meet the requirements:
[0130] S201. Perform point cloud matching processing on the current point cloud corresponding to the extracted geometric features and the feature point cloud in the environmental feature map to determine feature matching point pairs.
[0131] S202. Identify whether the number of the feature matching point pairs is greater than a preset number of point pairs. If it is greater, determine that the extracted geometric features meet the requirements; otherwise, determine that the extracted geometric features do not meet the requirements.
[0132] Regarding step S201, this step includes: for the geometric features extracted from the current point cloud data, identifying the point cloud (current point cloud) corresponding to the geometric features in the current point cloud data; using a point cloud matching algorithm to calculate the correspondence between the current point cloud and the feature point cloud in the environmental feature map, and generating feature matching point pairs.
[0133] Here, the feature matching point pairs are the point pairs that match each other between the current point cloud and the environmental feature map. The environmental feature map is a point cloud map of the entire area where the robot moves. The environmental feature map includes both geometric features and non-geometric features, that is, the environmental feature map includes feature point clouds and ordinary point clouds. The environmental feature map can be a pre-constructed static or dynamic map. Exemplarily, the environmental feature map in this application can adopt a static map.
[0134] Regarding step S202, the preset number of point pairs can be dynamically adjusted according to factors such as the environmental characteristics of the positioning area, environmental complexity, and sensor accuracy. Exemplarily, in a static map of a banquet hall, there may be A line features and B circle features. When the robot is roughly positioned in a certain sub-region, when the robot is in this positioning area, the environmental features within the range of the robot sensor may have a line features and b circle features, where a is less than A and b is less than B. At this time, the robot should theoretically be able to collect a line features and b circle features. However, due to possible occlusion, sensor accuracy, etc., it can be set that when the correspondence between the robot's current point cloud data and the feature point cloud in the environmental feature map generates feature matching point pairs with the number of line features greater than or equal to c and the number of circle features or arc features greater than or equal to d, it is determined to be greater than the preset number of point pairs. c is less than or equal to a and greater than or equal to 1, and d is less than or equal to b and greater than or equal to 1. When the conditions are met, weighted matching positioning is performed; otherwise, unweighted matching positioning is performed, avoiding the situation where geometric features are weighted and matched regardless of the circumstances, which may increase the weight of mis-matching and affect the positioning accuracy.
[0135] In this way, through the method of judging the number of feature matching point pairs, the reliability of the extracted geometric features is re-verified in this application, which can ensure that geometric features meeting the requirements are used for weighted processing, thereby further ensuring the accuracy of the positioning result.
[0136] Continuing with step S102, in an implementation manner provided in this application, the weighted matching based on the current point cloud data, the geometric features, and the environmental feature map includes:
[0137] S1021. According to the point cloud matching relationship between the current point cloud data and the environmental feature map, construct an initial correlation matrix representing the geometric relationship between the current point cloud data and the environmental feature map.
[0138] S1022. Use the geometric features to perform weighted processing on the initial correlation matrix to determine a weighted correlation matrix.
[0139] Regarding step S1021, in this step, the current point cloud data is matched with the environmental feature map to obtain the correspondence (feature mapping relationship) between the feature points in the current point cloud data and the feature points in the environmental feature map. Then, according to the feature mapping relationship, a matrix (initial correlation matrix) is constructed. This matrix reflects the geometric relationship between the current point cloud data and the environmental feature map. Each element of the matrix can represent the distance or other transformation features between two points.
[0140] For example, please refer to Figure 3 , Figure 3 which is a schematic diagram of the overall effect of point cloud matching provided by this application. As Figure 3 shown, the geometric features represented by the yellow point cloud are the geometric features in the environmental feature map. The blue point cloud is the real-time laser, that is, the current point cloud data collected by the environmental perception sensor on the robot. As Figure 3 shown by the green arrow in the local map in , it represents the matching process between the feature points (points corresponding to geometric features) in the current point cloud data and the feature points in the environmental feature map to determine the feature mapping relationship. In this way, subsequent matrix construction and addition processing operations can be performed according to the feature mapping relationship.
[0141] Regarding step S1022, the use of the geometric features to perform weighted processing on the initial correlation matrix includes: applying the weights of the feature point cloud corresponding to the geometric features to the initial correlation matrix and adjusting each element in the initial correlation matrix.
[0142] The weighted correlation matrix is a new matrix obtained after weighted processing. This matrix more accurately reflects the geometric relationship between the point cloud data and the environmental feature map, which is beneficial to precise positioning.
[0143] In this way, using geometric features to perform weighted processing on the initial correlation matrix is to linearly assign higher weights to the corresponding point cloud pairs through geometric characteristics, thereby optimizing the initial correlation matrix. And according to the determined weighted correlation matrix after optimization, the accuracy and robustness of point cloud matching can be significantly improved, and the accuracy of positioning can be improved.
[0144] For example, please refer to Figure 4 , Figure 4 which is a schematic diagram of the geometric feature matching effect provided by this application. As Figure 4As shown, on the left is an example of the feature matching result obtained without using feature weighting processing, and there is a deviation in this matching result. On the right is an example of the feature matching result obtained using feature weighting processing, and the matching result is relatively accurate. Therefore, by introducing feature weights into laser matching in this solution, the influence of discrete point changes on positioning (i.e., the influence of a cluttered environment) can be reduced, and the robustness of overall positioning can be further improved.
[0145] Continuing with step S1021, in an implementation manner provided by the present application, the initial correlation matrix is constructed through the following steps:
[0146] S10211: Perform point cloud matching processing on the current point cloud data and the environmental feature map to determine initial matching point pairs.
[0147] S10212: Calculate the first centroid of the current point cloud data and the second centroid of the environmental feature map of the environmental map respectively.
[0148] S10213: Use the first centroid, the second centroid, and the initial matching point pairs to calculate the relative transformation relationship between the point clouds to obtain the initial correlation matrix.
[0149] Regarding step S10211, this step includes: performing point cloud matching processing on the current point cloud data and the environmental feature map using a matching algorithm to obtain multiple initial matching point pairs.
[0150] Each initial matching point pair includes a point in the current point cloud data and a corresponding point in the environmental feature map.
[0151] Regarding step S10212, the first centroid can be the average value of all points in the current point cloud data. The second centroid can be the average value of all points in the environmental feature map.
[0152] Regarding step S10213, this step may include: performing a centering process on the points in the initial matching point pairs using the first centroid and the second centroid; constructing an initial correlation matrix according to the centered initial matching point pairs.
[0153] The centering process can be: for each point in the initial matching point pair, subtract its corresponding centroid coordinate respectively to achieve centering.
[0154] In this way, by performing a centering process on the points in the initial matching point pairs using the first centroid and the second centroid, and constructing an initial correlation matrix according to the centered point pairs, the accuracy and reliability of point cloud matching can be significantly improved.
[0155] Continuing with step S1022, in an implementation provided by the present application, the weighted correlation matrix is determined by weighting the initial correlation matrix according to the geometric features, including:
[0156] S10221. Determine the third weighted centroid according to the current point cloud corresponding to the geometric features.
[0157] S10222. Use the third weighted centroid and the fourth weighted centroid corresponding to the environmental feature map to correct the initial correlation matrix to obtain a candidate correlation matrix;
[0158] S10223. Use the weight information of the feature matching point pairs determined according to the geometric features to weight the corresponding initial matching point pairs in the candidate correlation matrix to obtain a weighted correlation matrix.
[0159] Regarding step S10221, the third weighted centroid is the average value of all the current point clouds corresponding to the extracted geometric features.
[0160] Regarding step S10222, the fourth weighted centroid is the average value of all the feature point clouds corresponding to the geometric features in the environmental feature map.
[0161] Here, when using the third weighted centroid and the fourth weighted centroid to correct the initial correlation matrix, the correction method adopted may include translation and / or rotation, so as to perform translation correction and / or rotation correction on the points in the initial correlation matrix.
[0162] Regarding step S10223, this step includes: for each feature matching point pair, determine the point pair corresponding to this feature matching point pair in the initial matching point pair, and apply the weight value of this feature matching point pair to the corresponding point pair to achieve weighting. For the weighted initial matching point pair, adjust the value of the corresponding element in the candidate correlation matrix according to the weight value of this initial matching point pair to obtain a weighted correlation matrix.
[0163] Here, the weight values of different feature matching point pairs may be different, and the weight value of a feature matching point pair can be determined according to the type of the corresponding geometric feature.
[0164] In this way, by calculating the weighted centroid through geometric features, a reference point is provided for the correction of the initial correlation matrix, so as to obtain a more accurate candidate correlation matrix. Then, the weight information of the feature matching point pairs corresponding to the geometric features is introduced for weighting, and the correct matching relationship can be obtained, preventing incorrect matching caused by local mis-matching, thereby significantly improving the accuracy and robustness of point cloud matching, and further improving the accuracy of subsequent positioning results.
[0165] Regarding step S103, in this step, the matching result includes a weighted correlation matrix. Therefore, determining the current pose of the robot based on the matching result includes: determining the current pose of the robot based on the weighted correlation matrix.
[0166] In an implementation manner provided by the present application, determining the current pose of the robot based on the weighted correlation matrix includes:
[0167] S1031. Solve the weighted correlation matrix to determine the relative pose between the current point cloud data and the environmental feature map.
[0168] S1032. According to the pose transformation relationship between the robot and the environmental perception sensor, perform transformation processing on the relative pose to determine the current pose of the robot.
[0169] Regarding step S1031, solving the weighted correlation matrix: is to find the best match between the current point cloud data and the environmental feature map through an optimization method, that is, to find an optimal pose transformation.
[0170] The relative pose represents the pose transformation relationship between the current point cloud data and the environmental feature map. The relative pose includes a translation parameter and a rotation parameter.
[0171] Exemplarily, the solving method can adopt a non-linear optimization method, an iterative closest point method, etc., which are not limited herein.
[0172] Regarding step S1032, the pose transformation relationship between the robot and the environmental perception sensor can be determined by calibrating the fixed pose transformation matrix (external parameter) between the sensor and the robot base.
[0173] When performing transformation processing on the relative pose, the obtained relative pose (in the sensor coordinate system) is transformed to the robot coordinate system through the external parameter matrix (pose transformation relationship), and the transformed result is the current pose of the robot.
[0174] In this way, by solving the weighted correlation matrix, high-precision and robust relative pose estimation is provided, and then through pose transformation, the relative pose is unified to the robot coordinate system, so as to obtain the accurate current pose of the robot.
[0175] In addition, after executing step S101, if it is determined that no geometric features meeting the requirements are extracted, in another implementation manner provided by the present application, the positioning method further includes:
[0176] S301. Based on the current point cloud data and the environmental feature map for matching, construct an initial correlation matrix.
[0177] S302. Solve the initial correlation matrix to determine the current pose of the robot.
[0178] Regarding step S301, the construction process of the initial correlation matrix is the same as that of step S1021, which will not be elaborated here.
[0179] In this step, since no geometric features meeting the requirements are extracted, no weighting process is performed during the matching process. Instead, an initial correlation matrix is directly generated based on the current point cloud data and the environmental feature map.
[0180] Regarding step S1032, the method for solving the initial correlation matrix is the same as that for solving the weighted correlation matrix in step S1031, which will not be elaborated here. Moreover, after the solution, first determine the relative pose between the current point cloud data and the environmental feature map, and then perform a conversion process on the relative pose according to the pose conversion relationship between the robot and the environmental perception sensor to determine the current pose of the robot.
[0181] In this way, the present application also provides a corresponding positioning processing method for the positioning scenario where no geometric features are extracted, thereby enhancing the scenario applicability of the present solution.
[0182] Based on the same inventive concept, the present application embodiments also provide a positioning device corresponding to the positioning method. Since the principle of solving problems by the device in the present application embodiments is similar to that of the above-mentioned positioning method in the present application embodiments, the implementation of the device can refer to the implementation of the method, and the repeated parts will not be elaborated.
[0183] Please refer to Figure 5 、 Figure 6 , Figure 5 which is one of the structural schematic diagrams of a positioning device for a robot provided by the embodiments of the present application. Figure 6 which is the second of the structural schematic diagrams of a positioning device for a robot provided by the embodiments of the present application. As shown in Figure 5 the positioning device 500 includes:
[0184] An extraction module 510, configured to perform feature extraction processing on the current point cloud data collected by an environmental perception sensor on the robot;
[0185] A weighting module 520, configured to determine that geometric features meeting the requirements are extracted, and perform weighted matching based on the current point cloud data and the geometric features with the environmental feature map, where the geometric features at least include one of a linear feature, a circular feature, and an arc feature;
[0186] A positioning module 530, configured to determine the current pose of the robot based on the matching result.
[0187] Optionally, when the geometric feature is a circular feature and / or an arc feature, the extraction module 510 is configured to extract the geometric feature through the following steps:
[0188] Project the current point cloud data onto a two-dimensional plane, and construct a grid probability map according to the point cloud density after projection;
[0189] Map the probability values in the grid probability map to a grayscale value range to obtain a grayscale map;
[0190] Perform convolution processing on the grayscale map, and perform geometric shape recognition on the convolved image to determine a set of candidate center points;
[0191] For each candidate center point in the set of candidate center points, determine whether the candidate center point is the target center point according to the consistency result of the interval distance between the candidate center point and each surrounding pixel point;
[0192] For each target center point, extract the circular feature or arc feature corresponding to the target center point according to the set of line segments formed by the target center point and its surrounding pixel points.
[0193] Optionally, as Figure 6 shown, the positioning device 500 further includes a judgment module 540, and the judgment module 540 is configured to determine whether the extracted geometric feature meets the requirements through the following steps:
[0194] Perform point cloud matching processing on the current point cloud corresponding to the extracted geometric feature and the feature point cloud in the environmental feature map to determine a set of feature matching point pairs;
[0195] Identify whether the number of the set of feature matching point pairs is greater than a preset number of point pairs;
[0196] If it is greater, determine that the extracted geometric feature meets the requirements, otherwise, determine that the extracted geometric feature does not meet the requirements.
[0197] Optionally, when the weighting module 520 is used for weighted matching based on the current point cloud data and the geometric feature with the environmental feature map, the weighting module 520 is configured to:
[0198] Construct an initial correlation matrix representing the geometric relationship between the current point cloud data and the environmental feature map according to the point cloud matching relationship between the current point cloud data and the environmental feature map;
[0199] Use the geometric feature to perform weighting processing on the initial correlation matrix to determine a weighted correlation matrix.
[0200] Optionally, the weighting module 520 is further configured to construct the initial correlation matrix through the following steps:
[0201] Perform point cloud matching processing using the current point cloud data and the environmental feature map to determine an initial matching point pair;
[0202] Calculate the first centroid of the current point cloud data and the second centroid of the environmental feature map respectively;
[0203] Calculate the relative transformation relationship between the point clouds using the first centroid, the second centroid, and the initial matching point pair to obtain the initial correlation matrix.
[0204] Optionally, when the weighting module 520 is used to perform weighting processing on the initial correlation matrix according to the geometric features to determine the weighted correlation matrix, the weighting module 520 is used for:
[0205] Determine a third weighted centroid according to the current point cloud corresponding to the geometric features;
[0206] Use the third weighted centroid and the fourth weighted centroid corresponding to the environmental feature map to correct the initial correlation matrix to obtain a candidate correlation matrix;
[0207] Use the weight information of the feature matching point pair determined according to the geometric features to perform weighting processing on the corresponding initial matching point pair in the candidate correlation matrix to obtain the weighted correlation matrix.
[0208] Optionally, the matching result includes a weighted correlation matrix. When the positioning module 530 is used to determine the current pose of the robot based on the matching result, the positioning module 530 is used for:
[0209] Solve the weighted correlation matrix to determine the relative pose between the current point cloud data and the environmental feature map;
[0210] Perform transformation processing on the relative pose according to the pose conversion relationship between the robot and the environmental perception sensor to determine the current pose of the robot.
[0211] Optionally, the positioning device 500 is further used for:
[0212] After determining that no geometric features meeting the requirements are extracted, perform matching based on the current point cloud data and the environmental feature map to construct an initial correlation matrix;
[0213] Solve the initial correlation matrix to determine the current pose of the robot.
[0214] Please refer to Figure 7 , Figure 7 which is a schematic structural diagram of an electronic device provided by an embodiment of the present application. As Figure 7As shown, the electronic device 700 includes a processor 710, a memory 720, and a bus 730.
[0215] The memory 720 stores machine-readable instructions executable by the processor 710. When the electronic device 700 runs, the processor 710 communicates with the memory 720 via the bus 730. When the machine-readable instructions are executed by the processor 710, they can perform the steps in the method embodiments as described above Figures 1 to 4 The specific implementation can refer to the method embodiments and will not be elaborated here.
[0216] The embodiments of the present application also provide a computer-readable storage medium. A computer program is stored on the computer-readable storage medium. When the computer program is run by a processor, it performs the steps in the method embodiments as described above Figures 1 to 4 The specific implementation can refer to the method embodiments and will not be elaborated here.
[0217] Those skilled in the art can clearly understand that for the convenience and brevity of description, the specific working processes of the systems, devices, and units described above can refer to the corresponding processes in the foregoing method embodiments and will not be elaborated here.
[0218] In several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods can be implemented in other ways. The device embodiments described above are merely illustrative. For example, the division of the units is only a logical function division, and there can be other division methods in actual implementation. For another example, multiple units or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the displayed or discussed couplings or direct couplings or communication connections to each other can be through some communication interfaces. The indirect couplings or communication connections of the devices or units can be in electrical, mechanical, or other forms.
[0219] The units described as separate components may or may not be physically separated. The components displayed as units may or may not be physical units, that is, they can be located in one place or distributed to multiple network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0220] In addition, in each embodiment of the present application, the functional units can be integrated into one processing unit, or each unit can exist physically alone, or two or more units can be integrated into one unit.
[0221] When the above-mentioned functions are implemented in the form of software function units and sold or used as independent products, they can be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such an understanding, the technical solution of the present application, in essence, or the part that contributes to the prior art, or a part of the technical solution, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: various media such as USB flash drives, mobile hard disks, read-only memories (ROMs), random access memories (RAMs), magnetic disks, or optical discs that can store program codes.
[0222] Finally, it should be noted that the above-mentioned embodiments are only specific implementation manners of the present application, used to illustrate the technical solutions of the present application, rather than limiting them. The protection scope of the present application is not limited thereto. Although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: any person skilled in the art within the technical scope disclosed by the present application can still modify the technical solutions described in the foregoing embodiments, or can easily think of changes, or perform equivalent replacements on some of the technical features; and these modifications, changes, or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present application, and should all be covered by the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.
Claims
1. A robot positioning method, characterized in that: The positioning method comprises: Perform feature extraction on the current point cloud data collected by the environment perception sensor on the robot; Determine that a geometric feature that meets the requirements is extracted, and perform weighted matching based on the current point cloud data and the geometric feature and the environmental feature map, wherein the geometric feature includes at least one of a linear feature, a circular feature, and an arc feature; The current position of the robot is determined based on the matching results.
2. The positioning method according to claim 1, characterized in that: When the geometric feature is a circle feature and / or an arc feature, the geometric feature extraction is performed by the following steps: Projecting the current point cloud data onto a two-dimensional plane, and constructing a grid probability map according to the projected point cloud density; Map the probability values in the raster probability map to the grayscale value range to obtain a grayscale map; Performing convolution processing on the grayscale image, and performing geometric shape recognition on the convolved image to determine a candidate circle center point set; For each candidate center point in the center point set, determine whether the candidate center point is the target center point according to the consistency result of the interval distance between the candidate center point and each surrounding pixel point; For each target circle center point, the circle feature or arc feature corresponding to the target circle center point is extracted according to the line segment set formed by the target circle center point and the surrounding pixel points.
3. The positioning method according to claim 1, characterized in that: Use the following steps to determine whether the extracted geometric features meet the requirements: Use the current point cloud corresponding to the extracted geometric features and the feature point cloud in the environment feature map to perform point cloud matching processing to determine the feature matching point pairs; Identify whether the number of feature matching point pairs is greater than a preset number of point pairs; If it is greater than, it is determined that the extracted geometric features meet the requirements; otherwise, it is determined that the extracted geometric features do not meet the requirements.
4. The positioning method according to claim 1, characterized in that: The weighted matching based on the current point cloud data and the geometric features and the environmental feature map includes: According to the point cloud matching relationship between the current point cloud data and the environmental feature map, construct an initial correlation matrix representing the geometric relationship between the current point cloud data and the environmental feature map; The initial correlation matrix is weighted using the geometric features to determine a weighted correlation matrix.
5. The positioning method according to claim 4, characterized in that: Construct an initial correlation matrix by following these steps: Perform point cloud matching processing using the current point cloud data and the environmental feature map to determine an initial matching point pair; Calculating respectively a first centroid of the current point cloud data and a second centroid of the environmental feature map; The relative transformation relationship between point clouds is calculated using the first centroid, the second centroid, and the initial matching point pair to obtain the initial correlation matrix.
6. The positioning method according to claim 4, characterized in that: The step of performing weighted processing on the initial correlation matrix according to the geometric features to determine the weighted correlation matrix comprises: Determining a third weighted centroid according to the current point cloud corresponding to the geometric feature; Using the third weighted centroid and a fourth weighted centroid corresponding to the environmental feature map to modify the initial correlation matrix to obtain a candidate correlation matrix; The corresponding initial matching point pairs in the candidate correlation matrix are weighted using the weight information of the feature matching point pairs determined according to the geometric features to obtain a weighted correlation matrix.
7. The positioning method according to claim 1, characterized in that: The matching result includes a weighted correlation matrix, and determining the current position and posture of the robot based on the matching result includes: Solving the weighted correlation matrix to determine the relative position between the current point cloud data and the environmental feature map; According to the posture conversion relationship between the robot and the environmental perception sensor, the relative posture is converted to determine the current posture of the robot.
8. The positioning method according to claim 1, characterized in that: After determining that no geometric features meeting the requirements are extracted, the positioning method further includes: Based on matching the current point cloud data with the environmental feature map, an initial correlation matrix is constructed; The initial correlation matrix is solved to determine the current position and posture of the robot.
9. A robot positioning device, characterized in that: The positioning device comprises: An extraction module is used to perform feature extraction processing on the current point cloud data collected by the environment perception sensor on the robot; A weighting module, used to determine that geometric features meeting the requirements are extracted, and to perform weighted matching based on the current point cloud data and the geometric features and the environmental feature map, wherein the geometric features include at least one of linear features, circular features, and arc features; The positioning module is used to determine the current position of the robot based on the matching results.
10. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the steps of the positioning method according to any one of claims 1 to 8 are executed.
Citation Information
Cited By
U-shaped station pose recognition method and system based on laser point cloud and LSD
CN120702481A