A 3D laser positioning point cloud map processing method, device and robot

By coarse segmentation and fine segmentation of 3D laser point cloud maps, the storage space and real-time problems of point cloud map matching in large-scale scenarios are solved, and efficient point cloud map matching is achieved.

CN115115697BActive Publication Date: 2025-05-09GUANGZHOU GOSUNCN ROBOTICS CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210737136.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-06-27
Publication Date
2025-05-09
Estimated Expiration
2042-06-27

AI Technical Summary

Technical Problem

In large-scale scenarios, directly using the entire prior point cloud map for matching results in large storage space and poor real-time performance, while map matching based on raster or elevation map results in lost information.

Method used

The point cloud map is boldly segmented according to the distance measurement range of the lidar, forming a small map collection, and finely segmenting it according to the robot's real-time position and environmental profile to dynamically manage the point cloud map.

Benefits of technology

The storage space requirements of point cloud maps are reduced and matching speed is improved, ensuring real-timeness while avoiding excessive dimensionality reduction of information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115115697B_ABST
    Figure CN115115697B_ABST
Patent Text Reader

Abstract

The present invention provides a 3D laser positioning point cloud map processing method, which includes the following steps: S1, according to the circumscribed rectangle of the entire environment 3D point cloud map, the point cloud is roughly segmented to obtain a corresponding set of small pictures; S2, the real-time position of the robot is obtained, and the grid where the robot is located is obtained according to the real-time position of the robot; S3, according to the network where the robot is located, the small pictures of the eight grids adjacent to the center grid corresponding to the current robot position are loaded to obtain the first map used by the robot for positioning; S4, on the first map, the circumscribed rectangle of the current environment contour corresponding to the current laser radar is obtained, and the sub-picture where the circumscribed rectangle of the current environment contour is located is loaded to obtain the second map used by the robot for positioning. During the autonomous navigation process of the robot, the map is dynamically loaded according to the real-time position to obtain the point cloud map of each laser matching, which not only reduces the storage space of the point cloud, but also reduces the amount of calculation during matching, and ensures real-time performance.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robotics technology, and in particular to a 3D laser positioning point cloud map processing method, device and robot. Background Art

[0002] Robot navigation generally uses SLAM (Simutaneous Localization and Mapping) technology to build an external environment map using laser radar, visual cameras or other sensor data. During autonomous navigation, the robot's position in the environment is determined by matching sensor data with the prior environmental map, providing information for subsequent path planning.

[0003] There are currently two commonly used 3D laser point cloud positioning methods:

[0004] 1. Distance-based registration methods such as ICP and NDT: Use single-frame laser point cloud information and prior point cloud maps for scan-to-map matching. These two methods are based on given initial values. ICP constructs a point-to-point distance function, and NDT constructs a point-to-distribution distance function to obtain a local optimal solution, and then calculate the six-degree-of-freedom pose. But generally speaking, there are several problems with registering the entire prior point cloud map. First, in large-scale scenarios, the map itself is large, and loading the entire map requires a large amount of memory; second, the map is not further subdivided, and the real-time performance is poor when the real-time laser data is directly registered with the entire map.

[0005] 2. Registration methods based on raster maps or elevation maps: Raster maps and elevation maps are similar in that they both discretize the external environment at a certain resolution. Raster maps describe the environment using the probability distribution of whether a grid is occupied by an object, while elevation maps use the height statistics in the grid to describe it. Although these methods can reduce the overall storage space, they also reduce the dimensionality or compress the data, and lose some information compared to the original data.

[0006] However, for some robots with relatively large operation scenarios, such as robots that perform patrol tasks in parks, fields, warehouses, etc., their a priori Figure 1 The original point cloud map matching method can make full use of the original environment information, but the entire map is directly loaded and matched during navigation, which takes up a lot of storage space and has poor real-time performance; map matching based on raster or elevation map, although the map storage occupies less, is equivalent to reducing the dimension of the data, but also loses some important information.

[0007] The background description provided herein is for the purpose of generally presenting the context of the present disclosure. Unless otherwise indicated herein, the materials described in this section are not prior art to the claims of this application and are not admitted to be prior art by inclusion in this section. Summary of the invention

[0008] In view of the above technical problems in the related art, the present invention proposes a 3D laser positioning point cloud map processing method, which includes the following steps:

[0009] S1, roughly segment the point cloud according to the circumscribed rectangle of the 3D point cloud map to obtain the corresponding small image set;

[0010] S2, obtaining the real-time position of the robot, and obtaining the grid where the robot is located according to the real-time position of the robot;

[0011] S3, loading a small map of eight grids adjacent to a center grid corresponding to the current position of the robot according to the network where the robot is located to obtain a first map for positioning of the robot;

[0012] S4, obtaining the circumscribed rectangle of the current environment contour corresponding to the current laser radar on the first map, and loading the sub-map where the circumscribed rectangle of the current environment contour is located to obtain a second map for the robot to locate.

[0013] Specifically, step S1 further includes the following steps:

[0014] S11. Find the maximum and minimum values ​​x in the x and y directions in the point cloud map min 、x max ,y min ,y max ;

[0015] S12, according to the maximum ranging distance d of the laser radar max , define the size of the grid for coarse segmentation as d resolution *d resolution , where d resolutin =d max / N; where N is a positive integer greater than or equal to 1;

[0016] S13. Get the vertices (x min ,y min ),(x min ,y max ),(x max ,y min ),(x max ,y max );

[0017] S14. Calculate the total number of row indexes of the grid based on the circumscribed rectangle.x , column index number index y ;

[0018] index x =(x max -x min ) / d resolution

[0019] index y =(y max -y min ) / d resolution

[0020] S15. Traverse all map points in the 3D point cloud map, and assign the map points to the grids to obtain a set of small images.

[0021] Specifically, resolution =d max / 3.

[0022] Specifically, the first map is eight grids of the upper left, upper right, upper left, right, lower left, lower right, and lower right adjacent to the center grid corresponding to the current robot position.

[0023] In a second aspect, another embodiment of the present invention discloses a 3D laser positioning point cloud map processing device, which includes the following units:

[0024] A small image acquisition unit, used to roughly segment the point cloud according to the circumscribed rectangle of the 3D point cloud map to obtain a corresponding small image set;

[0025] A robot grid acquisition unit, used to acquire the real-time position of the robot, and acquire the grid where the robot is located according to the real-time position of the robot;

[0026] A robot first map acquisition unit, used for loading a small map of eight grids adjacent to a center grid corresponding to a current robot position according to a network where the robot is located, to obtain a first map for positioning of the robot;

[0027] The robot second map acquisition unit is used to obtain the circumscribed rectangle of the current environment outline corresponding to the current laser radar on the first map, and load the sub-map where the circumscribed rectangle of the current environment outline is located to obtain the second map used by the robot for positioning.

[0028] Specifically, the thumbnail acquisition unit further includes the following units:

[0029] Point cloud map size acquisition unit, used to find the maximum and minimum values ​​x in the x and y directions of the point cloud map min 、x max ,y min ,y max ;

[0030] The grid size calculation unit is used to calculate the maximum distance d of the laser radar. max , define the size of the grid for coarse segmentation as d resolution *d resolution , where d resolution =d max / N; where N is a positive integer greater than or equal to 1;

[0031] Point cloud bounding rectangle acquisition unit, used to obtain the vertices (x min ,y min ),(x min ,y max ),(x max ,y min ),(x max ,y max );

[0032] The network index calculation unit is used to calculate the total number of row indexes of the divided grid according to the circumscribed rectangle. x , column index number index y ;

[0033] index x =(x max -x min ) / d resolution

[0034] index y =(y max -y min ) / d resolution

[0035] The point cloud attribution unit is used to traverse all map points in the 3D point cloud map and attribute the map points to the grid to obtain a small map set.

[0036] Specifically, resolution =d max / 3.

[0037] Specifically, the first map is eight grids of the upper left, upper right, upper left, right, lower left, lower right, and lower right adjacent to the center grid corresponding to the current robot position.

[0038] In a third aspect, another embodiment of the present invention discloses a robot, comprising: a processor and a memory, wherein the memory stores instructions, and the processor is used to implement the above method when executing the instructions.

[0039] In a fourth aspect, another embodiment of the present invention discloses a non-volatile storage medium, on which instructions are stored, and when the instructions are executed by a processor, they are used to implement the above method.

[0040] The present invention uses a two-step method to dynamically manage the point cloud map based on the real-time position of the robot and the actual environment. First, the point cloud map is roughly segmented according to the ranging range of the laser radar; then, the roughly segmented point cloud is screened during the positioning process, and after being spliced ​​into a nine-square grid map, it is finely segmented according to the actual environment contour. Through the above two-step method, on the one hand, it can avoid directly storing the entire point cloud map and reduce the storage space. On the other hand, the point cloud map can be segmented and the matching speed can be improved when matching. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0042] Figure 1 It is a schematic diagram of the working principle of the 3D laser radar provided by an embodiment of the present invention;

[0043] Figure 2 is a schematic diagram of a laser point cloud and a raster map provided by an embodiment of the present invention;

[0044] Figure 3 This is a flow chart of a 3D laser positioning point cloud map processing method provided by an embodiment of the present invention;

[0045] Figure 4 is a schematic diagram of a rough segmentation of a point cloud map provided by an embodiment of the present invention;

[0046] Figure 5 It is a schematic diagram of fine segmentation of a point cloud map provided by an embodiment of the present invention;

[0047] Figure 6 It is a schematic diagram of a 3D laser positioning point cloud map processing device provided by an embodiment of the present invention;

[0048] Figure 7 It is a schematic diagram of a 3D laser positioning point cloud map processing device provided in an embodiment of the present invention. DETAILED DESCRIPTION

[0049] The following will be combined with the accompanying drawings in the embodiments of the present invention to clearly and completely describe the technical solutions in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field belong to the scope of protection of the present invention.

[0050] Embodiment 1

[0051] The robot of this embodiment needs to use a laser radar for ranging and for building a map of the robot's surroundings and for positioning the robot.

[0052] The following first introduces the ranging principle of laser radar, which is based on the ranging principle of flight time. The distance is calculated according to the emission and reception time of the laser and the speed of light. 3D mechanical laser radar can obtain measurement data in both horizontal and vertical directions. A Cartesian coordinate system is established with the center of the radar to obtain the coordinates of each point. The coordinates of all detected data points form a point cloud.

[0053] refer to Figure 2 , Figure 2 (a) is a 3D point cloud map. If the coordinate system of the laser radar at the starting time is used as the map coordinate system, the points measured by the radar at all times constitute the environmental point cloud map;

[0054] Figure 2 (b) is a raster map or elevation map; Figure 2 In (b), when the resolution of each grid is fixed, each grid in the grid map represents whether the area is occupied by an object and whether the robot can pass through it. Each grid in the elevation map represents the height distribution of the object in the grid. Figure 2 In (b), the black grid corresponds to the location where there is an object and the robot cannot pass through.

[0055] This embodiment uses a 3D point cloud map as a map representation method used in this embodiment.

[0056] The robot of this embodiment is equipped with a 3D laser radar and has completed the construction of the laser radar point cloud map. The specific 3D laser radar of this embodiment can be any one of mechanical and solid state. The robot of this embodiment builds the laser point cloud map based on SLAM.

[0057] refer to Figure 3 This embodiment discloses a 3D laser positioning point cloud map processing method, which includes the following steps:

[0058] S1, roughly segment the point cloud according to the circumscribed rectangle of the 3D point cloud map to obtain the corresponding small image set;

[0059] The robot in this embodiment has already mapped the environment in advance to form a priori 3D environment point cloud map.

[0060] refer to Figure 4 , given the prior 3D environment point cloud map, find the maximum and minimum boundaries of the map, and roughly segment the point cloud into grids according to the map's circumscribed rectangle. The specific size of the grid is related to the maximum range of the laser radar itself. After the grid division is completed, each point in the map is divided into corresponding grids according to the coordinates, and finally a small picture is formed.

[0061] Because in the rough mesh segmentation stage, only (x, y) in the (x, y, z) three-dimensional coordinates is considered, that is, the mesh is divided according to the horizontal and vertical coordinates of the point cloud, so the schematic diagram only shows the xy two-dimensional plane.

[0062] Specifically, this embodiment roughly segments the point cloud according to the circumscribed rectangle of the XY plane of the 3D point cloud map.

[0063] In this embodiment, the size of the thumbnail is determined according to the maximum ranging distance of the laser radar.

[0064] Specifically, the small picture is a square with a side length of

[0065] Step S1 further includes the following steps:

[0066] S11. Find the maximum and minimum values ​​x in the x and y directions in the point cloud map min 、x max ,y min ,y max ;

[0067] S12, according to the maximum ranging distance d of the laser radar max , define the size of the grid for coarse segmentation as d resolution *d resolution , d resolution =d max / N, where N is a positive integer greater than or equal to 1;

[0068] Specifically, resolution =d max / 3;d resolution is the side length l of the subgraph.

[0069] The 3 here is related to loading the adjacent nine-square grid during the subsequent fine segmentation, that is, to ensure that the distance of the loaded nine-square grid image is less than or equal to the maximum ranging distance of the laser radar;

[0070] S13. Get the vertices (x min ,y min ),(x min ,ymax ),(x max ,y min ),(x max ,y max );

[0071] S14. Calculate the total number of row indexes of the grid based on the circumscribed rectangle. x , column index number index y ;

[0072] index x =(x max -x min ) / d resolution

[0073] index y =(y max -y min ) / d resolution

[0074] S15, traversing all map points in the 3D point cloud map, assigning the map points to the grids to obtain a set of thumbnails;

[0075] After determining the total number of grids, all points in the entire point cloud are assigned to their own grids. The grid index is obtained mainly by the following method when assigning grids. Assuming that the coordinates of a point in the point cloud map are (x i ,y i ,z i ), then the grid index it should belong to is:

[0076] Row index i =(x i -x min ) / d resolution

[0077] Column index i =(y i -y min ) / d resolution

[0078] According to the method in S15, all map points in the map are traversed and classified into the grids to which they belong, and finally a sub-graph composed of each grid is obtained; since then, the coarse segmentation stage is completed, and the entire point cloud map is coarsely segmented into a small graph composed of several grids;

[0079] S2, obtaining the real-time position of the robot, and obtaining the grid where the robot is located according to the real-time position of the robot;

[0080] refer to Figure 5, Step S1 has roughly segmented the entire point cloud map. During the positioning process, the corresponding grid sub-map will be loaded according to the robot position, and then further refined according to the real-time point cloud contour, and finally a real-time point cloud map for matching will be obtained.

[0081] In the process of coarse segmentation, the original point cloud map has been pre-divided into many small maps according to the resolution calculated by the maximum detection distance of the laser. In the fine segmentation stage, the index number of the grid corresponding to the current position is first obtained based on the real-time positioning data of the robot.

[0082] Specifically, the robot of this embodiment is equipped with a GNSS module, which can obtain the positioning data of the robot through GNSS and further output the position information of the robot.

[0083] The method of calculating the index number of the network where the robot is located based on the robot's implementation position is as follows:

[0084] The index of the row where the robot is located x =x robot / d resolution

[0085] The column index number where the robot is located y =y robot / d resolution

[0086] Among them, (x robot ,y robot ) represents the position of the robot, (index x ,index y ) represents the grid corresponding to the current position.

[0087] S3, loading a small map of eight grids adjacent to a center grid corresponding to the current position of the robot according to the network where the robot is located to obtain a first map for positioning of the robot;

[0088] By loading the eight adjacent grids (top left, top, top right, top left, top right, bottom left, bottom right, and bottom right) of the center grid corresponding to the current robot position in step S2, a nine-grid grid is formed. The subgraph in the nine grids is the largest subgraph used for the current robot positioning, corresponding to Figure 5 The point cloud within the thick box in .

[0089] S4, obtaining the circumscribed rectangle of the current environment contour corresponding to the current laser radar on the first map, and loading the sub-map where the circumscribed rectangle of the current environment contour is located to obtain a second map for the robot to locate.

[0090] Figure 5The small box in represents the position of the robot at this time, the ray represents the emitted light of the laser radar, and the curve surrounding the ray represents the environmental contour detected by the laser radar at this time. Further consideration is that step S3 only considers the maximum distance of the laser, while ignoring the environmental factors of the robot's real-time operation. In some environments, due to obstruction by buildings or other objects, the detection distance of the laser cannot reach the maximum detection distance except in extremely open environments. If the maximum detection distance is directly used, the sub-graph segmented by S3 in indoor or closed environments is still relatively large, which is not a better segmentation method.

[0091] According to the outline of the current point cloud, calculate the circumscribed rectangle of the current environment outline (the calculation method is the same as step 1). After obtaining the circumscribed rectangle, further segment the points in the circumscribed quadrilateral based on the original nine-square grid map to obtain the final finely segmented sub-map ( Figure 5 The point cloud in the thin line box is the point cloud map after fine segmentation).

[0092] By comparing the point clouds, it can be seen that the number of finely divided point clouds ≤ the number of coarsely divided nine-square grid point clouds ≤ the number of point clouds in the entire map. During the robot's autonomous navigation, the map is dynamically loaded according to the real-time position to obtain the point cloud map for each laser matching, which not only reduces the storage space of the point cloud, but also reduces the amount of calculation during matching, ensuring real-time performance.

[0093] This embodiment uses a two-step method to dynamically manage the point cloud map based on the robot's real-time position and actual environment. First, the point cloud map is roughly segmented according to the laser radar's ranging range; then, the roughly segmented point cloud is screened during the positioning process, and after being spliced ​​into a nine-square grid map, it is finely segmented according to the actual environment contour. Through the above two-step method, on the one hand, it can avoid directly storing the entire point cloud map, reducing the storage space, and on the other hand, the point cloud map can be segmented to increase the matching speed when matching.

[0094] Embodiment 2

[0095] refer to Figure 6 This embodiment discloses a 3D laser positioning point cloud map processing device, which includes the following units:

[0096] A small image acquisition unit, used to roughly segment the point cloud according to the circumscribed rectangle of the 3D point cloud map to obtain a corresponding small image set;

[0097] The robot in this embodiment has already mapped the environment in advance to form a priori 3D environment point cloud map.

[0098] refer to Figure 4, given the prior 3D environment point cloud map, find the maximum and minimum boundaries of the map, and roughly segment the point cloud into grids according to the map's circumscribed rectangle. The specific size of the grid is related to the maximum range of the laser radar itself. After the grid division is completed, each point in the map is divided into corresponding grids according to the coordinates, and finally a small picture is formed.

[0099] Because in the rough mesh segmentation stage, only (x, y) in the (x, y, z) three-dimensional coordinates is considered, that is, the mesh is divided according to the horizontal and vertical coordinates of the point cloud, so the schematic diagram only shows the xy two-dimensional plane.

[0100] Specifically, this embodiment roughly segments the point cloud according to the circumscribed rectangle of the XY plane of the 3D point cloud map.

[0101] In this embodiment, the size of the thumbnail is determined according to the maximum ranging distance of the laser radar.

[0102] Specifically, the small picture is a square with a side length of

[0103] The thumbnail acquisition unit of this embodiment also includes the following units:

[0104] Point cloud map size acquisition unit, used to find the maximum and minimum values ​​x in the x and y directions of the point cloud map min 、x max ,y min ,y max ;

[0105] The grid size calculation unit is used to calculate the maximum distance d of the laser radar. max , define the size of the grid for coarse segmentation as d resolution *d resolution , d resolution =d max / N, where N is a positive integer greater than or equal to 1;

[0106] Specifically, resolution =d max / 3;d resolution is the side length l of the subgraph.

[0107] The 3 here is related to loading the adjacent nine-square grid during the subsequent fine segmentation, that is, to ensure that the distance of the loaded nine-square grid image is less than or equal to the maximum ranging distance of the laser radar;

[0108] Point cloud bounding rectangle acquisition unit, used to obtain the vertices (x min ,y min ),(x min ,y max ),(x max ,ymin ),(x max ,y max );

[0109] The network index calculation unit is used to calculate the total number of row indexes of the divided grid according to the circumscribed rectangle. x , column index number index y ;

[0110] index x =(x max -x min ) / d resolution

[0111] index y =(y max -y min ) / d resolution

[0112] A point cloud attribution unit, used for traversing all map points in the 3D point cloud map, attributing the map points to the grid to obtain a set of small images;

[0113] After determining the total number of grids, all points in the entire point cloud are assigned to their own grids. The grid index is obtained mainly by the following method when assigning grids. Assuming that the coordinates of a point in the point cloud map are (x i ,y i ,z i ), then the grid index it should belong to is:

[0114] Row index i =(x i -x min ) / d resolution

[0115] Column index i =(y i -y min ) / d resolution

[0116] The point cloud attribution unit is used to traverse all map points in the map and assign them to the grids they belong to, and finally obtain a sub-graph composed of each grid. Since then, the coarse segmentation stage is completed, and the entire point cloud map is coarsely segmented into a small graph composed of several grids.

[0117] A robot grid acquisition unit, used to acquire the real-time position of the robot, and acquire the grid where the robot is located according to the real-time position of the robot;

[0118] refer to Figure 5,The small image acquisition unit has roughly segmented the entire point cloud map. During the positioning process, the corresponding grid sub-image will be loaded according to the robot position, and then further refined segmentation will be performed according to the real-time point cloud contour, and finally the real-time point cloud map for matching is obtained.

[0119] In the process of coarse segmentation, the original point cloud map has been pre-divided into many small maps according to the resolution calculated by the maximum detection distance of the laser. In the fine segmentation stage, the index number of the grid corresponding to the current position is first obtained based on the real-time positioning data of the robot.

[0120] Specifically, the robot of this embodiment is equipped with a GNSS module, which can obtain the positioning data of the robot through GNSS and further output the position information of the robot.

[0121] The method of calculating the index number of the network where the robot is located based on the robot's implementation position is as follows:

[0122] The index of the row where the robot is located x =x robot / d resolution

[0123] The column index number where the robot is located y =y robot / d resolution

[0124] Among them, (x robot ,y robot ) represents the position of the robot, (index x ,index y ) represents the grid corresponding to the current position.

[0125] A robot first map acquisition unit, used for loading a small map of eight grids adjacent to a center grid corresponding to a current robot position according to a network where the robot is located, to obtain a first map for positioning of the robot;

[0126] By loading the eight adjacent grids (top left, top, top right, top left, top right, bottom left, bottom right, and bottom right) of the center grid corresponding to the current robot position in step S2, a nine-grid grid is formed. The subgraph in the nine grids is the largest subgraph used for the current robot positioning, corresponding to Figure 5 The point cloud within the thick box in .

[0127] The robot second map acquisition unit is used to obtain the circumscribed rectangle of the current environment outline corresponding to the current laser radar on the first map, and load the sub-map where the circumscribed rectangle of the current environment outline is located to obtain the second map used by the robot for positioning.

[0128] Figure 5The small box in represents the position of the robot at this time, the ray represents the emitted light of the laser radar, and the curve surrounding the ray represents the environmental contour detected by the laser radar at this time. Further consideration is that step S3 only considers the maximum distance of the laser, while ignoring the environmental factors of the robot's real-time operation. In some environments, due to obstruction by buildings or other objects, the detection distance of the laser cannot reach the maximum detection distance except in extremely open environments. If the maximum detection distance is directly used, the sub-graph segmented by S3 in indoor or closed environments is still relatively large, which is not a better segmentation method.

[0129] According to the outline of the current point cloud, calculate the circumscribed rectangle of the current environment outline (the calculation method is the same as step 1). After obtaining the circumscribed rectangle, further segment the points in the circumscribed quadrilateral based on the original nine-square grid map to obtain the final finely segmented sub-map ( Figure 5 The point cloud in the thin line box is the point cloud map after fine segmentation).

[0130] By comparing the point clouds, it can be seen that the number of finely divided point clouds ≤ the number of coarsely divided nine-square grid point clouds ≤ the number of point clouds in the entire map. During the robot's autonomous navigation, the map is dynamically loaded according to the real-time position to obtain the point cloud map for each laser matching, which not only reduces the storage space of the point cloud, but also reduces the amount of calculation during matching, ensuring real-time performance.

[0131] This embodiment uses a two-step method to dynamically manage the point cloud map based on the robot's real-time position and actual environment. First, the point cloud map is roughly segmented according to the laser radar's ranging range; then, the roughly segmented point cloud is screened during the positioning process, and after being spliced ​​into a nine-square grid map, it is finely segmented according to the actual environment contour. Through the above two-step method, on the one hand, it can avoid directly storing the entire point cloud map, reducing the storage space, and on the other hand, the point cloud map can be segmented to increase the matching speed when matching.

[0132] Embodiment 3

[0133] This embodiment discloses a robot, which includes: a processor and a memory, wherein the memory stores instructions, and the processor is used to implement the 3D laser positioning point cloud map processing method of the first embodiment when executing the instructions.

[0134] Embodiment 4

[0135] refer to Figure 7 , Figure 7: is a structural schematic diagram of a 3D laser positioning point cloud map processing device of this embodiment. The 3D laser positioning point cloud map processing device 20 of this embodiment includes a processor 21, a memory 22, and a computer program stored in the memory 22 and executable on the processor 21. When the processor 21 executes the computer program, the steps in the above method embodiment are implemented. Alternatively, when the processor 21 executes the computer program, the functions of each module / unit in the above device embodiments are implemented.

[0136] Exemplarily, the computer program may be divided into one or more modules / units, which are stored in the memory 22 and executed by the processor 21 to complete the present invention. The one or more modules / units may be a series of computer program instruction segments capable of completing specific functions, which are used to describe the execution process of the computer program in the 3D laser positioning point cloud map processing device 20. For example, the computer program may be divided into the modules in Embodiment 2. For the specific functions of each module, please refer to the working process of the device described in the above embodiment, which will not be repeated here.

[0137] The 3D laser positioning point cloud map processing device 20 may include, but is not limited to, a processor 21 and a memory 22. Those skilled in the art will appreciate that the schematic diagram is merely an example of the 3D laser positioning point cloud map processing device 20 and does not constitute a limitation on the 3D laser positioning point cloud map processing device 20. The 3D laser positioning point cloud map processing device 20 may include more or fewer components than shown in the figure, or a combination of certain components, or different components. For example, the 3D laser positioning point cloud map processing device 20 may also include input and output devices, network access devices, buses, and the like.

[0138] The processor 21 may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or any conventional processor, etc. The processor 21 is the control center of the 3D laser positioning point cloud map processing device 20, and uses various interfaces and lines to connect various parts of the entire 3D laser positioning point cloud map processing device 20.

[0139] The memory 22 can be used to store the computer program and / or module. The processor 21 realizes various functions of the 3D laser positioning point cloud map processing device 20 by running or executing the computer program and / or module stored in the memory 22 and calling the data stored in the memory 22. The memory 22 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.); the data storage area can store data created according to the use of the mobile phone (such as audio data, a phone book, etc.). In addition, the memory 22 can include a high-speed random access memory, and can also include a non-volatile memory, such as a hard disk, a memory, a plug-in hard disk, a smart memory card (Smart Media Card, SMC), a secure digital (Secure Digital, SD) card, a flash card (Flash Card), at least one disk storage device, a flash memory device, or other volatile solid-state storage devices.

[0140] Wherein, if the module / unit integrated in the 3D laser positioning point cloud map processing device 20 is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on such an understanding, the present invention implements all or part of the processes in the above-mentioned embodiment method, and can also be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a computer-readable storage medium. When the computer program is executed by the processor 21, the steps of the above-mentioned method embodiments can be implemented. Wherein, the computer program includes computer program code, and the computer program code can be in source code form, object code form, executable file or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U disk, mobile hard disk, disk, optical disk, computer memory, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), electrical carrier signal, telecommunication signal and software distribution medium, etc. It should be noted that the content contained in the computer-readable medium can be appropriately increased or decreased according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media does not include electrical carrier signals and telecommunication signals.

[0141] It should be noted that the device embodiments described above are merely schematic, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. In addition, in the accompanying drawings of the device embodiments provided by the present invention, the connection relationship between the modules indicates that there is a communication connection between them, which may be specifically implemented as one or more communication buses or signal lines. A person of ordinary skill in the art may understand and implement it without paying any creative effort.

[0142] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims

1. A 3D laser positioning point cloud map processing method, which can be applied to a robot, comprises the following steps: S1, roughly segment the point cloud according to the circumscribed rectangle of the entire environment 3D point cloud map to obtain the corresponding small image set; Step S1 further includes the following steps: S11. Find the maximum and minimum values ​​x in the x and y directions in the point cloud map min 、x max ,y min ,y max ; S12, according to the maximum ranging distance d of the laser radar max , define the size of the grid for coarse segmentation as d resolution *d resolution , where d resolution =d max / N; wherein N is a positive integer greater than or equal to 1; specifically, d resolution =d max / 3; S13. Get the vertices (x min ,y min ), (x min ,y max ), (x max ,y min ), (x max ,y max ); S14. Calculate the total number of row indexes of the grid based on the circumscribed rectangle. x , column index number index y ; index x =(x max -x min ) / d resolution index y =(y max -y min ) / d resolution S15, traversing all map points in the 3D point cloud map, assigning the map points to the grids to obtain a set of thumbnails; S2, obtaining the real-time position of the robot, and obtaining the grid where the robot is located according to the real-time position of the robot; S3, loading a small map of eight grids adjacent to a center grid corresponding to the current position of the robot according to the network where the robot is located to obtain a first map for positioning of the robot; S4, obtaining the circumscribed rectangle of the current environment contour corresponding to the current laser radar on the first map, and loading the sub-map where the circumscribed rectangle of the current environment contour is located to obtain a second map for the robot to locate.

2. According to the method of claim 1, the first map is eight grids adjacent to the center grid corresponding to the current robot position, namely, upper left, upper right, left, right, lower left, lower right, and lower right.

3. A 3D laser positioning point cloud map processing device, which can be applied to a robot, comprising the following units: A small image acquisition unit, used to roughly segment the point cloud according to the circumscribed rectangle of the 3D point cloud map to obtain a corresponding small image set; The thumbnail acquisition unit further includes the following units: Point cloud map size acquisition unit, used to find the maximum and minimum values ​​x in the x and y directions of the point cloud map min 、x max ,y min ,y max ; The grid size calculation unit is used to calculate the maximum distance d of the laser radar. max , define the size of the grid for coarse segmentation as d resolution *d resolution , where d resolution =d max / N; wherein N is a positive integer greater than or equal to 1; specifically, d resolution =d max / 3; Point cloud bounding rectangle acquisition unit, used to obtain the vertices (x min ,y min ), (x min ,y max ), (x max ,y min ), (x max ,y max ); The network index calculation unit is used to calculate the total number of row indexes of the divided grid according to the circumscribed rectangle. x , column index number index y ; index x =(x max -x min ) / d resolution index y =(y max -y min ) / d resolution A point cloud attribution unit, used for traversing all map points in the 3D point cloud map, attributing the map points to the grid to obtain a set of small images; A robot grid acquisition unit, used to acquire the real-time position of the robot, and acquire the grid where the robot is located according to the real-time position of the robot; A robot first map acquisition unit, used for loading a small map of eight grids adjacent to a center grid corresponding to a current robot position according to a network where the robot is located, to obtain a first map for positioning of the robot; The robot second map acquisition unit is used to obtain the circumscribed rectangle of the current environment outline corresponding to the current laser radar on the first map, and load the sub-map where the circumscribed rectangle of the current environment outline is located to obtain the second map used by the robot for positioning.

4. The device according to claim 3, wherein the first map is eight grids adjacent to the center grid corresponding to the current robot position, namely, upper left, upper right, left, right, lower left, lower right, and lower right.

5. A robot, comprising: A processor and a memory, wherein the memory stores instructions, and the processor is used to execute the method of any one of claims 1-2 when executing the instructions.

6. A non-volatile storage medium, wherein instructions are stored on the medium, and when the instructions are executed by a processor, the instructions are used to execute the method of any one of claims 1-2.

Citation Information

Patent Citations

  • Network training method, incremental mapping method, positioning method, device and equipment

    CN109658445A

  • Obstacle recognition method and device and electronic equipment

    CN114419599A