Mapping positioning method and device, robot and computer readable storage medium

CN116400376BActive Publication Date: 2026-09-08UBTECH ROBOTICS CORP LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310385292.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-04-07
Publication Date
2026-09-08
Estimated Expiration
2043-04-07

AI Technical Summary

Technical Problem

[0002]在如长走廊、宽过道等建筑结构重复、缺少特征的场景和包含玻璃、高反光大理石等情况下,会导致激光数据噪声大

Benefits of technology

[0045] The mapping and positioning method, apparatus, robot, and computer-readable storage medium provided in this application enable the robot to achieve rapid mapping and positioning by fusing data from reflectors and LiDAR. It can complete mapping and accurate positioning by fusing reflector and LiDAR data without observing more than three reflectors. The number of reflectors is small and the environmental changes are minimal, enabling effective positioning in scenarios with few features, reducing robot positioning costs and improving robot positioning accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116400376B_ABST
    Figure CN116400376B_ABST
Patent Text Reader

Abstract

The application provides a mapping positioning method and device, a robot and a computer readable storage medium, and belongs to the technical field of positioning. The method comprises the following steps: determining a high reflectivity point set and a normal reflectivity point set according to the reflection intensity information of each laser point; performing iterative calculation by using the current matching initial value of the robot to obtain estimated pose information of the robot; determining a first projection point set corresponding to the high reflectivity point set according to the estimated pose information; clustering the candidate point set to obtain a retroreflective sheet point set; performing ICP matching on the retroreflective sheet point set and the first projection point set to obtain coarse positioning pose information of the robot; determining a second projection point set and a third projection point set according to the coarse positioning pose information; and determining accurate pose information of the robot according to the second projection point set and the third projection point set. In this way, the number of retroreflective sheets is small, the environment changes little, effective positioning can be performed in a feature-scarce scene, and the positioning cost of the robot is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of positioning technology, and in particular to a mapping and positioning method, apparatus, robot, and computer-readable storage medium. Background Technology

[0002] In scenarios with repetitive and feature-lacking architectural structures, such as long corridors and wide passageways, and in situations involving glass or highly reflective marble, laser data can become noisy. In such cases, low-cost mobile robots relying solely on single-line LiDAR and odometry for mapping are prone to issues like wall shadows and inaccurate dimensions, leading to large positioning errors and even positioning loss.

[0003] The commonly used reflector mapping and positioning method adopts a three-point positioning approach, which basically requires observing more than three reflectors at the same time to perform effective mapping and positioning. The large number of reflectors deployed and the long process are not conducive to rapid application deployment. Summary of the Invention

[0004] To address the aforementioned technical problems, this application provides a mapping and positioning method, apparatus, robot, and computer-readable storage medium.

[0005] In a first aspect, this application provides a mapping and localization method for use in robots, the method comprising:

[0006] Acquire the laser point cloud reflected by the object, and obtain a candidate point set from the laser point cloud based on the reflection intensity information of each laser point;

[0007] Based on the reflection intensity information of each candidate point, a high reflectivity point set and a normal reflectivity point set are determined from the candidate point set;

[0008] The robot's initial matching value for the current time is used for iterative calculation to obtain the robot's estimated pose information;

[0009] The high reflectivity point set is projected onto the map based on the estimated pose information to determine the first projection point set corresponding to the high reflectivity point set;

[0010] Cluster the candidate point set to obtain the reflector point set;

[0011] The reflector point set is matched with the first projection point set by ICP to obtain the coarse positioning pose information of the robot.

[0012] Based on the coarse positioning pose information, the high reflectivity point set and the ordinary reflectivity point set are projected onto the map to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set.

[0013] The precise pose information of the robot is determined based on the second projection point set and the third projection point set.

[0014] In one embodiment, obtaining a candidate point set from the laser point cloud based on the reflection intensity information of each laser point includes:

[0015] The candidate point set is determined based on laser points whose reflection intensity information is greater than the first reflection intensity threshold.

[0016] In one embodiment, the step of iteratively calculating using the robot's initial matching value to obtain the robot's estimated pose information includes:

[0017] The initial pose of the robot is determined based on the odometer readings;

[0018] Based on the initial pose values ​​of each laser point, each laser point is projected onto the grid of the map to determine the grid point occupied by each laser point.

[0019] The iteration increment is obtained based on each laser point and each occupied grid point;

[0020] The estimated pose information of the robot is calculated iteratively based on the iteration increment and the initial pose value of the robot.

[0021] In one embodiment, clustering the candidate point set to obtain the reflector point set includes:

[0022] The candidate point set is determined based on the slope of any two non-adjacent points within the candidate point set.

[0023] When the set of candidate points is linear, the set of candidate points is determined as the reflector point set.

[0024] In one embodiment, determining the precise pose information of the robot based on the second projection point set and the third projection point set includes:

[0025] The first pose score of each of the high reflectivity points is determined based on the second set of projection points.

[0026] The second pose score of each of the ordinary reflectivity points is determined based on the third projection point set.

[0027] The precise pose information of the robot is determined based on the scores of each of the first poses and the scores of each of the second poses.

[0028] In one embodiment, determining the first pose score of each of the high reflectivity points based on the second projection point set includes:

[0029] Determine the nearest projection point corresponding to each of the second projection points from the second projection point set;

[0030] The first pose score is calculated based on the first pose formula, each of the second projection points and its nearest projection point.

[0031] In one embodiment, determining the second pose score of each of the ordinary reflectivity points based on the third projection point set includes:

[0032] Determine the nearest projection point corresponding to each third projection point from the set of third projection points;

[0033] The second pose score is calculated based on the second pose formula, each third projection point and its nearest projection point.

[0034] Secondly, this application provides a mapping and positioning device, the device comprising:

[0035] The acquisition module is used to acquire the laser point cloud reflected by the object, and to acquire a candidate point set from the laser point cloud based on the reflection intensity information of each laser point;

[0036] The first determining module is used to determine the high reflectivity point set and the ordinary reflectivity point set from the candidate point set based on the reflectivity information of each candidate point;

[0037] The calculation module is used to perform iterative calculations using the robot's initial matching value for the current time, in order to obtain the robot's estimated pose information;

[0038] The first projection module is used to project the high reflectivity point set onto the map according to the estimated pose information, so as to determine the first projection point set corresponding to the high reflectivity point set;

[0039] A clustering processing module is used to cluster the candidate point set to obtain a reflector point set;

[0040] The matching module is used to perform ICP matching between the reflector point set and the first projection point set to obtain the coarse positioning pose information of the robot.

[0041] The second projection module is used to project the high reflectivity point set and the ordinary reflectivity point set onto the map according to the coarse positioning pose information, so as to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set.

[0042] The second determining module is used to determine the precise pose information of the robot based on the second projection point set and the third projection point set.

[0043] Thirdly, this application provides a robot, including a memory and a processor, wherein the memory is used to store a computer program, and the computer program executes the mapping and localization method provided in the first aspect when the processor is running.

[0044] Fourthly, this application provides a computer-readable storage medium storing a computer program that, when run on a processor, executes the mapping and positioning method provided in the first aspect.

[0045] The mapping and positioning method, apparatus, robot, and computer-readable storage medium provided in this application enable the robot to achieve rapid mapping and positioning by fusing data from reflectors and LiDAR. It can complete mapping and accurate positioning by fusing reflector and LiDAR data without observing more than three reflectors. The number of reflectors is small and the environmental changes are minimal, enabling effective positioning in scenarios with few features, reducing robot positioning costs and improving robot positioning accuracy. Attached Figure Description

[0046] To more clearly illustrate the technical solutions of this application, the accompanying drawings used in the embodiments will be briefly described below. It should be understood that the following drawings only show some embodiments of this application and should not be considered as a limitation on the scope of protection of this application. In the various drawings, similar components are numbered similarly.

[0047] Figure 1 A flowchart of the mapping and positioning method provided in this application is shown;

[0048] Figure 2 This paper presents another schematic diagram of the mapping and positioning method provided in this application;

[0049] Figure 3 This paper presents another schematic diagram of the mapping and positioning method provided in this application;

[0050] Figure 4 A schematic diagram of the mapping and positioning device provided in this application is shown.

[0051] Icons: 400 - Mapping and positioning device; 401 - Acquisition module; 402 - First determination module; 403 - Calculation module; 404 - First projection module; 405 - Clustering processing module; 406 - Matching module; 407 - Second projection module; 408 - Second determination module. Detailed Implementation

[0052] The technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments.

[0053] The components of this application, typically described and illustrated in the accompanying drawings, can be arranged and designed in a variety of different configurations. Therefore, the following detailed description of embodiments of this application provided in the 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.

[0054] In the following, the terms “comprising,” “having,” and their cognates, which may be used in various embodiments of this application, are intended only to indicate a particular feature, number, step, operation, element, component, or combination thereof, and should not be construed as excluding, firstly, the presence of one or more other features, numbers, steps, operations, elements, components, or combinations thereof, or adding the possibility of one or more features, numbers, steps, operations, elements, components, or combinations thereof.

[0055] Furthermore, the terms "first," "second," and "third" are used only to distinguish descriptions and should not be interpreted as indicating or implying relative importance.

[0056] Unless otherwise specified, all terms used herein (including technical and scientific terms) shall have the same meaning as commonly understood by one of ordinary skill in the art to which the various embodiments of this application pertain. Terms (such as those defined in commonly used dictionaries) shall be interpreted as having the same meaning as in their contextual meaning in the relevant technical field and shall not be construed as having an idealized or overly formal meaning, unless clearly defined in the various embodiments of this application.

[0057] Example 1

[0058] This application provides a mapping and localization method for use in robots.

[0059] See Figure 1 The mapping and positioning method includes steps S101-S108, which will be explained below.

[0060] Step S101: Obtain the laser point cloud reflected by the object, and obtain a candidate point set from the laser point cloud based on the reflection intensity information of each laser point.

[0061] In this embodiment, the robot is equipped with a lidar. The robot emits laser signals through the lidar, and these laser signals are reflected when they encounter objects. The robot can receive the laser point cloud reflected from these objects. The reflected laser point cloud includes reflection intensity information. When the laser signal reaches an object with high reflectivity (such as a reflector), the reflection intensity of that object is high; when the laser signal reaches an object with low reflectivity (such as a dark object), the reflection intensity of that object is low.

[0062] In this embodiment, obtaining the candidate point set from the laser point cloud based on the reflection intensity information of each laser point includes:

[0063] The candidate point set is determined based on laser points whose reflection intensity information is greater than the first reflection intensity threshold.

[0064] As an example, for high reflectivity information extraction, the laser point cloud is first traversed, and laser points with reflectivity greater than the first reflectivity threshold are extracted as candidate points. All candidate points constitute a candidate point set.

[0065] Step S102: Determine the high reflectivity point set and the normal reflectivity point set from the candidate point set based on the reflection intensity information of each candidate point.

[0066] The high reflectivity point set is determined based on candidate points whose reflectivity information is greater than the second reflectivity threshold;

[0067] The set of ordinary reflectivity points is determined based on candidate points whose reflectivity information is less than or equal to a second reflectivity threshold, wherein the second reflectivity threshold is greater than a first reflectivity threshold.

[0068] Step S103: Use the robot's current matching initial value for iterative calculation to obtain the robot's estimated pose information.

[0069] See Figure 2 Step S103 includes:

[0070] Step S1031: Determine the initial pose value of the robot based on the odometer value.

[0071] In this embodiment, the mapping laser matching uses the Gauss-Newton matching method, with odometry as the initial matching value. The odometry value is generally a wheel odometry value. The difference between the current time and the wheel odometry value at the previous moment is superimposed on the robot's pose calculated at the previous moment, and used as the initial pose value for the current matching.

[0072] Step S1032: Based on the initial pose values ​​of each laser point, project each laser point onto the grid of the map to determine the grid point occupied by each laser point.

[0073] In this embodiment, each laser point is traversed, and based on the initial pose value of each laser point, laser point i is projected onto the grid of the map to determine the occupied grid point j corresponding to laser point i. Exemplarily, the laser point is projected onto the map based on the initial pose value (i.e., odometry value). The grid points surrounding the projected point are traversed, and it is determined whether they are occupied, obtaining the nearest occupied grid point.

[0074] Step S1033: Obtain the iteration increment based on each laser point and each occupied grid point.

[0075] In this embodiment, the initial values ​​of the H matrix and the error dTr are first obtained. The initial value of the H matrix is ​​a 3*3 matrix, and dTr is a 1*3 vector. The H matrix and dTr are updated for each laser point. The H matrix is ​​an approximation of the Hessian matrix optimized by Gaussian-Newton and used for Gaussian iterative optimization. The error dTr represents the error at x, y, and theta for all laser matching points.

[0076] If the coordinates of laser point i are (px) i ,py i The estimated location is (x, y, θ), and the coordinates (px) of the nearest occupied grid point i on the map are given. best_i ,py best_i ) Calculate the adjustment parameters according to the following formulas 1 and 2.

[0077] Formula 1: dx_theta=-sinθ*px i -cosθ*py i

[0078] Formula 2: dy_theta=cosθ*px i -sinθ*py i

[0079] Formula 3:

[0080] Formula 4:

[0081] Where dx_theta represents the first adjustment parameter and dy_theta represents the second adjustment parameter. The H matrix is ​​updated according to Formula 3, and the error dDr is updated according to Formula 4.

[0082] In this embodiment, after traversing each laser point, the H matrix and dTr vector of the laser voltage of that frame are obtained, and the iterative increment searchDir is calculated according to the following formula 5.

[0083] Formula 5: searchDir=H -1 *dTr

[0084] Step S1034: Iteratively calculate the estimated pose information of the robot based on the iteration increment and the initial pose value of the robot.

[0085] In this embodiment, the next pose information of the robot to be iterated can be calculated based on the iterative increment calculated according to Formula 5. The pose is then updated according to Formulas 6-8 below.

[0086] Formula 6: px new =px old+searchDir[0]

[0087] Formula 7: py new =py old +searchDir[1]

[0088] Formula 8: ptheta new =ptheta old +searchDir[2]

[0089] The algorithm iteratively performs score and increment calculations to obtain the continuously updated position until the number of iterations is exceeded or the pose increment is too small, at which point the iteration stops.

[0090] Based on the pose information calculated in each iteration, each laser point is traversed. For laser point i, the nearest occupied grid point p on the map is calculated. best_i The distance from the projection point of the laser point on the map to its nearest occupied grid point is d. i Then the number of laser points is The score for each laser point is calculated by accumulating the scores of all laser points, resulting in a laser score of ∑s. i The robot's predicted pose information is determined based on the laser score obtained from the pose information calculated in each iteration. The pose with the highest score is then determined as the robot's predicted pose information.

[0091] Step S104: Project the high reflectivity point set onto the map based on the estimated pose information to determine the first projection point set corresponding to the high reflectivity point set.

[0092] Step S105: Cluster the candidate point set to obtain the reflector point set.

[0093] In one embodiment, step S105 includes:

[0094] The candidate point set is determined based on the slope of any two non-adjacent points within the candidate point set.

[0095] When the set of candidate points is linear, the set of candidate points is determined as the reflector point set.

[0096] As an example, high reflectivity points obtained from high reflectivity information extraction are clustered based on the distance between adjacent points. All candidate point sets are traversed, and the slope between any two non-adjacent points within a candidate point set is calculated, along with their mean and variance. Candidate point sets with slope variances less than a preset variance threshold are identified. If a candidate point set is determined to have a straight-line shape, it is marked as a reflector point set.

[0097] Step S106: Perform ICP matching between the reflector point set and the first projection point set to obtain the coarse positioning pose information of the robot.

[0098] As an example, the first projection point of high reflectivity points in the raster map is extracted and ICP matching is performed with the reflector point set to obtain the pose as coarse localization pose information.

[0099] Step S107: Project the high reflectivity point set and the ordinary reflectivity point set onto the map according to the coarse positioning pose information, so as to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set.

[0100] Step S108: Determine the precise pose information of the robot based on the second projection point set and the third projection point set.

[0101] See Figure 3 Step S108 includes:

[0102] Step S1081: Determine the first pose score of each of the high reflectivity points based on the second projection point set.

[0103] In one embodiment, step S1081 includes:

[0104] Determine the nearest projection point corresponding to each of the second projection points from the second projection point set;

[0105] The first pose score is calculated based on the first pose formula, each of the second projection points and its nearest projection point.

[0106] Step S1082: Determine the second pose score of each of the ordinary reflectivity points based on the third projection point set.

[0107] In one embodiment, step S1082 includes:

[0108] Determine the nearest projection point corresponding to each third projection point from the set of third projection points;

[0109] The second pose score is calculated based on the second pose formula, each third projection point and its nearest projection point.

[0110] Step S1083: Determine the precise pose information of the robot based on each of the first pose scores and each of the second pose scores.

[0111] In one embodiment, the second projection point is provided with a first identifier, and the third projection point is provided with a first identifier. For example, the first identifier is the number 2 and the second identifier is the number 1. This is not a limitation.

[0112] As an example, precise location matching uses different scoring parameters for high-reflectivity points and ordinary-reflectivity points. For high-reflectivity points, the distance is calculated by searching the map for the nearest second-most projected point (marked as the first identifier), and the score is... For points with normal reflectivity, the distance to the nearest third projection point (marked as + second identifier) ​​needs to be calculated on the map, and the score is... The final total score is score = ∑s high_i +∑s normal_i .

[0113] The mapping and localization method provided in this embodiment enables the robot to achieve rapid mapping and localization by fusing data from reflectors and LiDAR. It can complete mapping and accurate localization by fusing reflector and LiDAR data without observing more than three reflectors. With fewer reflectors and less environmental change, it can effectively locate the robot in scenarios with few features, reducing the robot's localization cost and improving its localization accuracy.

[0114] Example 2

[0115] In addition, this application provides a mapping and positioning device.

[0116] like Figure 4 As shown, the mapping and positioning device 400 includes:

[0117] The acquisition module 401 is used to acquire the laser point cloud reflected by the object, and to acquire a candidate point set from the laser point cloud based on the reflection intensity information of each laser point;

[0118] The first determining module 402 is used to determine a high reflectivity point set and a normal reflectivity point set from the candidate point set based on the reflection intensity information of each candidate point.

[0119] The calculation module 403 is used to perform iterative calculations using the robot's current matching initial value to obtain the robot's estimated pose information;

[0120] The first projection module 404 is used to project the high reflectivity point set onto the map according to the estimated pose information, so as to determine the first projection point set corresponding to the high reflectivity point set.

[0121] Clustering processing module 405 is used to cluster the candidate point set to obtain reflector point set;

[0122] The matching module 406 is used to perform ICP matching between the reflector point set and the first projection point set to obtain the coarse positioning pose information of the robot.

[0123] The second projection module 407 is used to project the high reflectivity point set and the ordinary reflectivity point set onto the map according to the coarse positioning pose information, so as to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set.

[0124] The second determining module 408 is used to determine the precise pose information of the robot based on the second projection point set and the third projection point set.

[0125] In one embodiment, the acquisition module 401 is used to determine the candidate point set based on laser points whose reflection intensity information is greater than a first reflection intensity threshold.

[0126] In one embodiment, the calculation module 403 is used to determine the initial pose value of the robot based on the odometry value;

[0127] Based on the initial pose values ​​of each laser point, each laser point is projected onto the grid of the map to determine the grid point occupied by each laser point.

[0128] The iteration increment is obtained based on each laser point and each occupied grid point;

[0129] The estimated pose information of the robot is calculated iteratively based on the iteration increment and the initial pose value of the robot.

[0130] In one embodiment, the clustering processing module 405 is used to determine a candidate point set based on the slope of any two non-adjacent points in the candidate point set;

[0131] When the set of candidate points is linear, the set of candidate points is determined as the reflector point set.

[0132] In one embodiment, the second determining module 408 is used to determine the first pose score of each of the high reflectivity points based on the second projection point set;

[0133] The second pose score of each of the ordinary reflectivity points is determined based on the third projection point set.

[0134] The precise pose information of the robot is determined based on the scores of each of the first poses and the scores of each of the second poses.

[0135] In one embodiment, the second determining module 408 is used to determine the nearest projection point corresponding to each of the second projection points from the second projection point set;

[0136] The first pose score is calculated based on the first pose formula, each of the second projection points and its nearest projection point.

[0137] In one embodiment, the second determining module 408 is configured to determine a second pose score for each of the ordinary reflectivity points based on the third projection point set, including:

[0138] Determine the nearest projection point corresponding to each third projection point from the set of third projection points;

[0139] The second pose score is calculated based on the second pose formula, each third projection point and its nearest projection point.

[0140] The mapping and positioning device 400 provided in this embodiment can implement the mapping and positioning method provided in Embodiment 1. To avoid repetition, it will not be described again here.

[0141] The mapping and positioning device provided in this embodiment enables the robot to achieve rapid mapping and positioning by fusing data from reflectors and LiDAR. It can complete mapping and accurate positioning by fusing reflector and LiDAR data without observing more than three reflectors. With fewer reflectors and less environmental change, it can effectively locate in scenarios with few features, reducing robot positioning costs and improving robot positioning accuracy.

[0142] Example 3

[0143] In addition, this application provides a robot including a memory and a processor, wherein the memory stores a computer program, and the computer program executes the mapping and localization method provided in Embodiment 1 when running on the processor.

[0144] The robot provided in this embodiment can implement the mapping and localization method provided in Embodiment 1. To avoid repetition, it will not be described again here.

[0145] Example 4

[0146] This application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the mapping and positioning method provided in Embodiment 1.

[0147] In this embodiment, the computer-readable storage medium may be a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, etc.

[0148] The computer-readable storage medium provided in this embodiment can implement the mapping and positioning method provided in Embodiment 1. To avoid repetition, it will not be described again here.

[0149] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or terminal that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or terminal. Unless otherwise specified, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or terminal that includes that element.

[0150] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, air conditioner, or network device, etc.) to execute the methods described in the various embodiments of this application.

[0151] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.

Claims

1. A mapping and positioning method, characterized in that, Applied to robots, the method includes: Acquire the laser point cloud reflected by the object, and obtain a candidate point set from the laser point cloud based on the reflection intensity information of each laser point; Based on the reflection intensity information of each candidate point, a high reflectivity point set and a normal reflectivity point set are determined from the candidate point set; The robot's estimated pose information is obtained by iterative calculation using the initial value of the current matching. Specifically, the odometry value is used as the initial value of the matching, and the pose calculated at the previous moment is superimposed with the difference between the current time and the odometry value at the previous moment to obtain the initial pose value of the current matching. The high reflectivity point set is projected onto the map based on the estimated pose information to determine the first projection point set corresponding to the high reflectivity point set; Cluster the candidate point set to obtain the reflector point set; The reflector point set is matched with the first projection point set by ICP to obtain the coarse positioning pose information of the robot. Based on the coarse positioning pose information, the high reflectivity point set and the ordinary reflectivity point set are projected onto the map to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set. The precise pose information of the robot is determined based on the second projection point set and the third projection point set.

2. The method according to claim 1, characterized in that, The step of obtaining a candidate point set from the laser point cloud based on the reflection intensity information of each laser point includes: The candidate point set is determined based on laser points whose reflection intensity information is greater than the first reflection intensity threshold.

3. The method according to claim 1, characterized in that, The step of iteratively calculating using the robot's initial matching value to obtain the robot's estimated pose information includes: The initial pose of the robot is determined based on the odometer readings; Based on the initial pose values ​​of each laser point, each laser point is projected onto the grid of the map to determine the grid point occupied by each laser point. The iteration increment is obtained based on each laser point and each occupied grid point; The estimated pose information of the robot is calculated iteratively based on the iteration increment and the initial pose value of the robot.

4. The method according to claim 1, characterized in that, The step of clustering the candidate point set to obtain the reflector point set includes: The candidate point set is determined based on the slope of any two non-adjacent points within the candidate point set. When the set of candidate points is linear, the set of candidate points is determined as the reflector point set.

5. The method according to claim 1, characterized in that, Determining the precise pose information of the robot based on the second projection point set and the third projection point set includes: The first pose score of each of the high reflectivity points is determined based on the second set of projection points. The second pose score of each of the ordinary reflectivity points is determined based on the third projection point set. The precise pose information of the robot is determined based on the scores of each of the first poses and the scores of each of the second poses.

6. The method according to claim 5, characterized in that, The step of determining the first pose score of each of the high reflectivity points based on the second projection point set includes: Determine the nearest projection point corresponding to each of the second projection points from the second projection point set; The first pose score is calculated based on the first pose formula, each of the second projection points, and its nearest projection point; the formula for calculating the first pose score is as follows: In the formula, This represents the score for the first pose. This indicates the first identifier corresponding to the high reflectivity point; This represents the distance from the projection point of laser point i on the map to its nearest occupied grid point.

7. The method according to claim 5, characterized in that, The step of determining the second pose score of each of the ordinary reflectivity points based on the third projection point set includes: Determine the nearest projection point corresponding to each third projection point from the set of third projection points; The second pose score is calculated based on the second pose formula, each third projection point, and its nearest projection point; the formula for calculating the second pose score is as follows: In the formula, This indicates the score for the second pose. This indicates the second identifier corresponding to a common reflectivity point; This represents the distance from the projection point of laser point i on the map to its nearest occupied grid point.

8. A mapping and positioning device, characterized in that, The device, applied to robots, includes: The acquisition module is used to acquire the laser point cloud reflected by the object, and to acquire a candidate point set from the laser point cloud based on the reflection intensity information of each laser point; The first determining module is used to determine the high reflectivity point set and the ordinary reflectivity point set from the candidate point set based on the reflectivity information of each candidate point; The calculation module is used to perform iterative calculations using the robot's current matching initial value to obtain the robot's estimated pose information; wherein, the odometry value is used as the matching initial value, and the pose calculated at the previous moment is superimposed with the difference between the current time and the previous moment's odometry value to obtain the pose initial value for the current matching. The first projection module is used to project the high reflectivity point set onto the map according to the estimated pose information, so as to determine the first projection point set corresponding to the high reflectivity point set; A clustering processing module is used to cluster the candidate point set to obtain a reflector point set; The matching module is used to perform ICP matching between the reflector point set and the first projection point set to obtain the coarse positioning pose information of the robot. The second projection module is used to project the high reflectivity point set and the ordinary reflectivity point set onto the map according to the coarse positioning pose information, so as to determine the second projection point set corresponding to the high reflectivity point set and the third projection point set corresponding to the ordinary reflectivity point set. The second determining module is used to determine the precise pose information of the robot based on the second projection point set and the third projection point set.

9. A robot, characterized in that, It includes a memory and a processor, wherein the memory stores a computer program that executes the mapping and positioning method according to any one of claims 1 to 7 when the processor is running.

10. A computer-readable storage medium, characterized in that, It stores a computer program that, when run on a processor, executes the mapping and positioning method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Robot positioning method and device

    CN110530368A

  • Grid map positioning method fusing NDT and ICP

    CN112612029A