Method and device for constructing autonomous driving map of wall-climbing robot

Through the wall-climbing robot, the point cloud is segmented and feature extraction is performed, combined with transformation relationship matching and fusion, the high-precision problem of autonomous driving map construction is solved, and the efficient construction of three-dimensional maps is achieved and the positioning accuracy is improved.

CN114777787BActive Publication Date: 2025-02-21BEIJING NENGGONG HUIZHI ROBOT CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202210412794.7
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-19
Publication Date
2025-02-21
Estimated Expiration
2042-04-19

AI Technical Summary

Technical Problem

The existing technology cannot build autonomous driving maps with high precision, especially in the construction of large-scale point cloud maps.

Method used

Through the wall-climbing robot, point clouds are segmented according to the region, regional features are extracted, transformation relationships between adjacent point clouds are determined, and the current scanned frame is matched to the global point cloud map, integrating point cloud map and transformation relationships To obtain the final pose estimation, keyframes, and three-dimensional map of the wall-climbing robot.

Benefits of technology

The construction of high-precision autonomous driving maps has been realized, the problem of building large-scale point cloud maps has been solved, and the positioning accuracy of the autonomous driving system has been improved.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114777787B_ABST
    Figure CN114777787B_ABST
Patent Text Reader

Abstract

The present application discloses a method and device for constructing an autonomous driving map for a wall-climbing robot. The method includes: segmenting the point cloud according to the region to which it belongs; extracting regional features from the segmented point cloud; determining the transformation relationship between two adjacent frames of point cloud according to the extracted regional features, and matching the current scan frame to the global point cloud map according to the extracted regional features; fusing the point cloud map and the transformation relationship to obtain the final posture estimation, key frames and three-dimensional map of the wall-climbing robot, which can solve the technical problem that high-precision autonomous driving maps cannot be constructed in related technologies.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of autonomous driving, and more specifically, to a method and device for constructing an autonomous driving map for a wall-climbing robot. Background Art

[0002] High-precision maps and high-precision positioning are still one of the core modules of L4 and above autonomous driving systems. Mature sensor fusion positioning methods are highly dependent on high-precision maps. In L4 autonomous driving systems, the so-called high-precision maps usually include two types of maps: semantic maps (also called vector maps) and point cloud maps. Semantic maps are maps that autonomous driving perception planning relies heavily on. They contain a large amount of road network and traffic static information and are structured data. Point cloud maps are usually used for radar registration and positioning in the positioning module. They are the basis of high-precision positioning and store unstructured sensor data. Point cloud maps are essentially one of the base maps used by map vendors to build semantic maps. Therefore, building large-scale point cloud maps is one of the foundations for high-precision mapping and positioning.

[0003] To address the above-mentioned problems, no effective solution has been proposed yet. Summary of the invention

[0004] The embodiments of the present application provide a method and device for constructing an autonomous driving map for a wall-climbing robot, so as to at least solve the technical problem that high-precision autonomous driving maps cannot be constructed in the related art.

[0005] According to one aspect of an embodiment of the present application, a method for constructing an autonomous driving map for a wall-climbing robot is provided, including: segmenting a point cloud according to the area to which it belongs; extracting regional features from the segmented point cloud; determining a transformation relationship between two adjacent frames of point clouds based on the extracted regional features, and matching a current scanning frame to a global point cloud map based on the extracted regional features; fusing the point cloud map and the transformation relationship to obtain a final posture estimation, key frames, and a three-dimensional map of the wall-climbing robot.

[0006] Optionally, the point cloud is segmented according to the area to which it belongs, including: performing planar projection on the point cloud to obtain a two-dimensional depth map composed of the point cloud, wherein the number of rows of the two-dimensional depth map is the number of lines of laser thunder points, and the number of columns of the two-dimensional depth map is the lateral resolution of the point cloud; when the point cloud includes a ring, the ring is directly used as the row index of the two-dimensional depth map; when the point cloud does not include a ring, the row index of the two-dimensional depth map is determined according to the depression angle; the point cloud is segmented in the two-dimensional depth map to distinguish between point clouds belonging to the ground and point clouds that do not belong to the ground.

[0007] Optionally, the point cloud is segmented in the two-dimensional depth map to distinguish between point clouds belonging to the ground and point clouds that do not belong to the ground, including: according to a pre-set parameter groundScanInd, the point cloud belonging to the ground is segmented according to the slope between adjacent points of the ray, wherein the parameter groundScanInd is used to indicate that the point cloud with a ring value between 0 and (groundScanInd-1) is segmented, and the parameter groundScanInd is a positive integer greater than 0; the point cloud that does not belong to the ground is clustered using the Euclidean clustering method, wherein the number of point clouds in a cluster is greater than N and the number of rings spanned is at least M, N is a positive integer greater than or equal to 30, and M is a positive integer greater than or equal to 3.

[0008] Optionally, regional features are extracted from the segmented point cloud, including: for the point cloud of each segmented area, obtaining the roughness of each point in the area: taking points with a roughness greater than a first threshold as edge points of the area, and taking points with a roughness not greater than the first threshold as plane points of the area.

[0009] Optionally, after taking the points with a roughness greater than a first threshold as the edge points of the region and taking the points with a roughness not greater than the first threshold as the plane points of the region, the method further comprises: selecting O edge points with the largest roughness from all points in the region and adding them to the first set And select P plane nodes with the smallest roughness from all points in the area and add them to the second set , where the positive integer O is less than the positive integer P; Q edge points with the largest roughness and not belonging to the ground are selected from all points in the area and added to the third set F e And select R edge nodes with the smallest roughness and belonging to the ground from all points in the area and add them to the fourth set F p , where the positive integer Q is less than the positive integer R, and Q is less than O, and R is less than P.

[0010] Optionally, determining the transformation relationship between two adjacent frames of point clouds according to the extracted regional features includes: Previous scan frame Currently scanning and the previous scan Perform feature point matching to obtain a transformation relationship between the current scan frame and the previous scan frame, wherein: The third set F of the current scan frame at time t e , is the first set of the previous scan frame at time (t-1) The fourth set F of the current scan frame at time t p , The second set of the previous scan frame at time (t-1)

[0011] Optionally, after fusing the point cloud map and the transformation relationship to obtain the final posture estimation, key frame and three-dimensional map of the wall-climbing robot, the method also includes: based on the position of the wall-climbing robot in the previous scanning frame, offsetting the odometer position of the wall-climbing robot obtained by the laser radar to obtain first position data of the predicted position of the wall-climbing robot in the current scanning frame; after receiving the new point cloud, using the NDT algorithm to perform prediction to obtain second position data of the predicted position of the wall-climbing robot; and fusing the first position data of the predicted position of the wall-climbing robot and the second position data of the predicted position of the wall-climbing robot according to the extended Kalman filtering method to obtain the current position of the wall-climbing robot.

[0012] According to another aspect of an embodiment of the present application, a device for constructing an autonomous driving map of a wall-climbing robot is also provided, including: a segmentation unit, used to segment the point cloud according to the region to which it belongs; an extraction unit, used to extract regional features from the segmented point cloud; a processing unit, used to determine the transformation relationship between two adjacent frames of point clouds according to the extracted regional features, and match the current scanning frame to the global point cloud map according to the extracted regional features; a fusion unit, used to fuse the point cloud map and the transformation relationship to obtain the final posture estimation, key frames and three-dimensional map of the wall-climbing robot.

[0013] Optionally, the segmentation unit is also used to: perform planar projection on the point cloud to obtain a two-dimensional depth map composed of the point cloud, wherein the number of rows of the two-dimensional depth map is the number of lines of laser thunder points, the number of columns of the two-dimensional depth map is the lateral resolution of the point cloud, when the point cloud includes a ring, the ring is directly used as the row index of the two-dimensional depth map, and when the point cloud does not include a ring, the row index of the two-dimensional depth map is determined according to the depression angle; and the point cloud is segmented in the two-dimensional depth map to distinguish between point clouds belonging to the ground and point clouds that do not belong to the ground.

[0014] Optionally, the segmentation unit is further used to: segment the point cloud belonging to the ground according to the slope between adjacent points of the ray according to a pre-set parameter groundScanInd, wherein the parameter groundScanInd is used to indicate the segmentation of the point cloud with a ring value between 0 and (groundScanInd-1), and the parameter groundScanInd is a positive integer greater than 0; cluster the point cloud that does not belong to the ground using the Euclidean clustering method, wherein the number of point clouds in a cluster is greater than N and the number of rings spanned is at least M, N is a positive integer greater than or equal to 30, and M is a positive integer greater than or equal to 3.

[0015] Optionally, the extraction unit is also used to: for each segmented point cloud of the area, obtain the roughness of each point in the area: take the points with roughness greater than a first threshold as the edge points of the area, and take the points with roughness not greater than the first threshold as the plane points of the area.

[0016] Optionally, the extraction unit is further configured to: after taking points with a roughness greater than a first threshold as edge points of the region and taking points with a roughness not greater than the first threshold as plane points of the region, select O edge points with the largest roughness from all points in the region and add them to the first set And select P plane nodes with the smallest roughness from all points in the area and add them to the second set , where the positive integer O is less than the positive integer P; Q edge points with the largest roughness and not belonging to the ground are selected from all points in the area and added to the third set F e And select R edge nodes with the smallest roughness and belonging to the ground from all points in the area and add them to the fourth set F p , where the positive integer Q is less than the positive integer R, and Q is less than O, and R is less than P.

[0017] Optionally, the extraction unit is further configured to: Previous scan frame Currently scanning and the previous scan Perform feature point matching to obtain a transformation relationship between the current scan frame and the previous scan frame, wherein: The third set F of the current scan frame at time t e , is the first set of the previous scan frame at time (t-1) The fourth set of the current scan frame at time t The second set of the previous scan frame at time (t-1)

[0018] Optionally, the above-mentioned device may also include a positioning unit, which is used to obtain the final posture estimation, key frame and three-dimensional map of the wall-climbing robot by fusing the point cloud map and the transformation relationship, and then, based on the position of the wall-climbing robot in the previous scanning frame, offset the odometer position of the wall-climbing robot obtained by the laser radar to obtain the first position data of the predicted position of the wall-climbing robot in the current scanning frame; after receiving the new point cloud, use the NDT algorithm to make a prediction to obtain the second position data of the predicted position of the wall-climbing robot; and fuse the first position data of the predicted position of the wall-climbing robot and the second position data of the predicted position of the wall-climbing robot according to the extended Kalman filtering method to obtain the current position of the wall-climbing robot.

[0019] According to another aspect of an embodiment of the present application, an electronic device is further provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the above method through the computer program.

[0020] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device performs the steps of any one of the embodiments of the above method.

[0021] By applying the technical solution of the present invention, the point cloud is segmented according to the area to which it belongs; regional features are extracted from the segmented point cloud; the transformation relationship between two adjacent frames of point cloud is determined based on the extracted regional features, and the current scanning frame is matched to the global point cloud map based on the extracted regional features; the point cloud map and the transformation relationship are integrated to obtain the final posture estimation, key frames and three-dimensional map of the wall-climbing robot, which can solve the technical problem that high-precision autonomous driving maps cannot be constructed in related technologies.

[0022] In addition to the above-described purposes, features and advantages, the present invention has other purposes, features and advantages. The present invention will be further described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS

[0023] The accompanying drawings constituting a part of the present invention are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute an improper limitation of the present invention. In the accompanying drawings:

[0024] Figure 1 is a flowchart of an optional method for constructing an autonomous driving map for a wall-climbing robot according to an embodiment of the present application;

[0025] Figure 2 is a schematic diagram of an optional method for constructing an autonomous driving map for a wall-climbing robot according to an embodiment of the present application;

[0026] Figure 3 is a schematic diagram of an optional depth map according to an embodiment of the present application;

[0027] Figure 4 is a schematic diagram of an optional global three-dimensional point cloud map according to an embodiment of the present application;

[0028] Figure 5 is a flow chart of an optional positioning method for automatic driving of a wall-climbing robot according to an embodiment of the present application; and,

[0029] Figure 6 It is a schematic diagram of an optional device for constructing an autonomous driving map for a wall-climbing robot according to an embodiment of the present application. DETAILED DESCRIPTION

[0030] In order to enable those skilled in the art to better understand the solution of the present application, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present application.

[0031] It should be noted that the terms "first", "second", etc. in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchangeable where appropriate, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any of their variations are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device comprising a series of steps or units is not necessarily limited to those steps or units clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.

[0032] ICP (iterative closest point) is an optional point cloud registration algorithm. By searching for correspondences between two point clouds point by point, the ICP algorithm repeatedly aligns the two sets of point clouds until the stopping condition is met. Therefore, ICP has the problem of high computational complexity when dealing with densely populated point cloud registration problems.

[0033] There is a problem of high computational complexity in ICP processing of point cloud registration problems with high density. In contrast, some feature-based matching methods have higher computational efficiency, such as PFH (full name Point Feature Histograms) and VFH (full name Viewpoint Feature Histograms). Therefore, feature-based matching methods can be used to solve the problem of high computational complexity of the above-mentioned ICP. However, feature-based matching methods require the design of feature descriptors that can meet the registration requirements, which increases the design difficulty, and there is currently no effective design strategy.

[0034] When using feature-based registration methods, the LOAM algorithm (full name: Lidar Odometry and Mapping in Real-time, LOAM is a SLAM system based on Lidar and built on the ROS platform. This application mainly uses two parts, feature extraction Lidar Registration and odometer solution Odometry and Mapping. After the features are extracted, coarse positioning is achieved through two high-frequency odometers Odometry and fine positioning is achieved through low-frequency odometer Mapping). The algorithm extracts features by calculating the roughness values ​​of points in their local areas, selects points with high roughness values ​​as edge features, and points with low roughness values ​​as plane features, and completes registration by matching edge features and plane features. This solution uses a lighter method based on LOAM to achieve similar performance, and is more suitable for smart mobile devices.

[0035] This application proposes a method for constructing a large-scale point cloud map that includes closed-loop detection and optimization, using a lightweight method to achieve the performance of the optimal method, saving computing costs, and realizing three-dimensional maps of larger areas and outdoor scenes on a wall-climbing robot. Figure 1 is a flowchart of an optional method for constructing an autonomous driving map for a wall-climbing robot according to an embodiment of the present application, such as Figure 1 As shown, the method may include the following steps:

[0036] In step S102, the point cloud belonging to a region is segmented and projected into a depth map for segmentation. The point cloud can be segmented according to the region to which it belongs.

[0037] Step S104, extracting regional features from the segmented point cloud, and inputting the segmented point cloud into a feature extraction module (Feature Extraction) to extract high-dimensional effective features of the data.

[0038] Step S106, determining the transformation relationship between two adjacent frames of point cloud (such as the current scan frame and the previous scan frame, or the current scan frame and the next scan frame) based on the extracted regional features, such as the Lidar Odometry uses the extracted features to calculate the transformation from the current scan to the previous scan, and matches the current scan frame to the global point cloud map based on the extracted regional features, such as the features are further used in the Lidar Mapping module to build a global map, and the current scan is aligned to the global point cloud map.

[0039] Step S208, the transformation integration module fuses the posture estimation results from the third step lidar odometer and the fourth step lidar mapping to obtain the final posture estimation, fuses the point cloud map and the transformation relationship, and obtains the final wall-climbing robot posture estimation, the key frames of the key action signals of the wall-climbing robot, and the three-dimensional map.

[0040] Through the above steps, the point cloud is segmented according to the area to which it belongs; regional features are extracted from the segmented point cloud; the transformation relationship between two adjacent frames of point cloud is determined based on the extracted regional features, and the current scanning frame is matched to the global point cloud map based on the extracted regional features; the point cloud map and the transformation relationship are integrated to obtain the final wall-climbing robot posture, the key frames where the key action signals of the wall-climbing robot are located, and the three-dimensional map, which can solve the technical problem that high-precision autonomous driving maps cannot be constructed in related technologies.

[0041] The design of the automatic driving task of the wall-climbing robot in this invention includes two major parts: map construction and positioning, both of which require point cloud data as a basis. The general processing flow of the map construction method for the automatic driving of the wall-climbing robot is as follows (refer to Figure 2 ):

[0042] Step 1: Project the point cloud into a depth map for segmentation.

[0043] The point cloud data is applied to the point cloud segmentation module. Point cloud segmentation actually includes several preprocessing steps: the original point cloud is first projected onto a plane to obtain a depth map composed of point clouds. The number of rows in the depth map is the number of laser radar lines, and the number of columns is the lateral resolution of the point cloud, thus obtaining a two-dimensional depth map. Specifically in terms of code implementation, if the laser radar point cloud contains ring information (the ring of the point cloud), the ring is directly used as the row index of the point in the depth map, otherwise the row index is calculated based on the depression angle of the point.

[0044] Get the depth map (such as Figure 3Part a in the figure) is used to segment the ground. The ground segmentation method is to determine whether it is the ground based on the slope between the neighboring points of each ray, and its robustness is poor. Therefore, in the specific implementation, the groundScanInd parameter can be set to set the number of lines considered as the ground (if groundScanInd = 10, it means that only the points in the line bundle with Ring 0-9 are used for ground segmentation). After segmenting the ground, non-ground points are used for further segmentation. This step of segmentation mainly clusters the point cloud, using the Euclidean clustering method. The points in the segmented depth map are clustered (each point in the cluster has the same label). Of course, in order to further improve the speed of point cloud clustering and reduce the impact of noise, the present invention only considers clustering clusters with a number of points greater than N (the number of N can be set as needed, such as 30, 50, etc.). In addition, the number of line bundles spanned by the clustering target can be used to further filter the clustering, and only targets that span at least M (the number of M can be set as needed, such as 3, 4, etc.) rings are set to be legal clusters. So far, the following can be obtained: Figure 3 The segmentation result (white part) is shown in part b.

[0045] Step 2: The segmented point cloud is input into the feature extraction module to extract high-dimensional effective features of the data.

[0046] The segmented point cloud is input into the feature extraction module to extract the high-dimensional effective features of the data. This method only extracts features from the segmented clusters and ground clusters. The basis of feature extraction is mainly based on calculating the roughness of each point in the segmented point cloud. Roughness refers to the sum of the squares of the differences between each point in the depth map and the five points before and after it. The calculation formula is:

[0047]

[0048] Among them, x i Indicates the feature point in the depth map with position index i. When i<<0, the point is discarded. N represents the total number of feature points in the depth map.

[0049] A threshold c is used to classify whether a point is an edge feature or a planar feature. In the code implementation, this threshold can be set as needed, such as 0.1.

[0050] The extraction strategy is as follows:

[0051] 1) Take O (e.g. 40) edge feature points with the largest roughness in each sub-graph and add them to the set middle;

[0052] 2) At the same time, select points with a roughness less than c as plane features (these points can be ground points or not);

[0053] 3) Take the smallest P (e.g. 80) plane feature points in each sub-image and add them to the set middle;

[0054] 4) Then, further select Q (e.g., 2) edge features with the largest roughness and not belonging to the ground in each sub-image and put them into the set F e Medium (as sharp edge feature, prominent edge feature);

[0055] 5) Select R (e.g. 4) plane features with the smallest roughness and belonging to the ground and put them into set F p (as flatplanar feature, flat planar feature).

[0056] At this point, for a frame of depth map obtained by projection, four feature point sets can be obtained: edge feature point set Plane feature point set A more prominent edge feature point set F e , a flatter and necessarily ground-level plane feature point set F p .

[0057] Step 3: Lidar Odometry uses the extracted features to calculate the transformation from the current scan to the previous scan.

[0058] This step is the process of obtaining the lidar odometry, thereby obtaining the transformation relationship between the previous and next two frames of lidar data to achieve SLAM mapping.

[0059] In this application, the odometer is mainly obtained by point-to-edge and point-to-plane registration. Scanned with the previous frame and The corresponding transformation relationship can be obtained. This method uses a two-step LM (Levenberg-Marquardt) optimization method to align the current point cloud and the previous frame point cloud. The optimization object is the translation [t x ,t y ,t z ] and the rotation [θ roll ,θ pitch ,θ yaw ]; where t x ,t y and t zare the coordinate values ​​of the three-dimensional space coordinate axes; θ roll ,θ roll and θ roll They are the roll angle, pitch angle and yaw angle in the attitude angle respectively.

[0060] The two steps are:

[0061] First, by aligning and To get [t z ,θ roll ,θ pitch ] estimates;

[0062] With [t z ,θ roll ,θ pitch ] is constrained by registration and To get [t x ,t y ,θ yaw ] estimates.

[0063] In step 4, the features are further used in the Lidar Mapping module to build a global map and register the current scan to the global point cloud map.

[0064] The features are further used in the Lidar Mapping module to build a global map and register the current scan to the global point cloud map.

[0065] The specific steps are:

[0066] First, we build a description of all historical point clouds, Represents the feature set of the historical point cloud at the t-th frame data. Since this method includes closed-loop detection, the historical frames are actually organized in a pose graph structure. The historical data frame is represented as a node in the pose graph. Since our goal is to align the current scan with the "nearby" environment during the mapping process to optimize the current pose, we can search for the feature point set of the scan corresponding to the nearest k nodes in the pose graph. As the surrounding environment, in the specific implementation, k is defined as 50, that is, the feature point sets corresponding to the 50 nearest poses searched in the pose graph are added to the local map.

[0067] In order to speed up the registration, the edge features and plane feature local maps are downsampled using voxel grids. The downsampling factor for downsampling the edge feature local map is 0.2, and the downsampling factor for downsampling the edge feature local map is 0.3.

[0068] Next, the LM two-step optimization method is still used to optimize the current scan Register to local map Q t-1 , get the optimized transformation, add the transformation as a constraint to the pose graph and smooth it.

[0069] Then, while mapping, loop closure detection will be executed in another thread, but the execution frequency is lower than mapping. This method executes two loop closure detection methods (RS and SC) at the same time. RS is radius search, which is a simple loop closure detection method implemented by this method, and SC is scan context loop closure detection method. The found loop is finally updated in the pose graph to optimize the map. Finally, the optimized global 3D point cloud map is obtained, such as Figure 4 shown.

[0070] In step 5, the Transfrom Integration module fuses the attitude estimation results from the lidar odometer in step 3 and the lidar mapping in step 4 to obtain the final attitude estimation.

[0071] The Transform Integration module fuses the pose estimation results from the lidar odometry in step 3 and the lidar mapping in step 4 to obtain the final pose estimation, keyframes and 3D map.

[0072] The general process of positioning method for automatic driving of wall-climbing robot is as follows: Figure 5 As shown: IMU and Odom are fused and calculated in the same node to output the odometer position; in NDT_Localization, the position of the previous frame needs to be maintained, Offset receives the odometer position sent by the odometer, and offsets it based on the position of the previous frame to obtain the predicted position Predict_pose; after NDT receives the new point cloud, it predicts based on Predict to obtain NDT_pose; at this time, two positions can be obtained: the position Predict_pose predicted by the odometer, and the position NDT_pose obtained by NDT calculation. According to certain rules, Predict_pose and NDT_pose are fused to obtain the current position. For the positioning function of the wall-climbing robot's autonomous driving technology, there are the following steps:

[0073] 1) In the NDT_Localization positioning module, the position of the previous frame needs to be extracted and the historical positioning information needs to be saved;

[0074] 2) The Offset module receives the laser radar odometer position odometry_pose of step 3 of the map construction algorithm of the present invention, and offsets it based on the last frame position last_pose to obtain the predicted position Predict_pose position data as follows:

[0075] Predict_pose=last_pose+odometry_pose.

[0076] 3) After receiving the new point cloud, the NDT algorithm is used to predict based on Predict to obtain the NDT_pose position data. At this time, two positions can be obtained: the position Predict_pose predicted by the odometer, and the position NDT_pose obtained by NDT calculation;

[0077] 4) According to the extended Kalman filter, the Predict_pose position data and the NDT_pose position data are fused to obtain the current position current_pose:

[0078] current_pose=predict_pose+K(k+1)[NDT_pose-h(predict_pose)]

[0079] Where K(k+1) is the Kalman gain matrix and h(·) is the output equation of the Kalman filter state space equation.

[0080] The design implemented a method for quickly and efficiently constructing large-scale three-dimensional point cloud maps; innovatively proposed a lidar-based loop detection method, which has stronger reverse robustness than traditional image feature loop detection; the constructed high-precision three-dimensional point cloud map was further used for high-precision positioning of the wall-climbing robot's autonomous driving system.

[0081] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity, they are all expressed as a series of action combinations, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application.

[0082] Through the description of the above implementation methods, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk), and includes a number of instructions for a terminal device (which can be a mobile phone, computer, server, or network device, etc.) to execute the methods described in each embodiment of the present application.

[0083] According to another aspect of an embodiment of the present application, there is also provided a device for constructing an autonomous driving map of a wall-climbing robot for implementing the above-mentioned method for constructing an autonomous driving map of a wall-climbing robot. Figure 6 is a schematic diagram of an optional device for constructing an autonomous driving map for a wall-climbing robot according to an embodiment of the present application, such as Figure 6 As shown, the device may include:

[0084] The segmentation unit 61 is used to segment the point cloud according to the area to which it belongs; the extraction unit 63 is used to extract regional features from the segmented point cloud; the processing unit 65 is used to determine the transformation relationship between two adjacent frames of point cloud according to the extracted regional features, and match the current scanning frame to the global point cloud map according to the extracted regional features; the fusion unit 67 is used to fuse the point cloud map and the transformation relationship to obtain the final posture estimation, key frames and three-dimensional map of the wall-climbing robot.

[0085] Optionally, the segmentation unit is also used to: perform planar projection on the point cloud to obtain a two-dimensional depth map composed of the point cloud, wherein the number of rows of the two-dimensional depth map is the number of lines of laser thunder points, the number of columns of the two-dimensional depth map is the lateral resolution of the point cloud, when the point cloud includes a ring, the ring is directly used as the row index of the two-dimensional depth map, and when the point cloud does not include a ring, the row index of the two-dimensional depth map is determined according to the depression angle; and the point cloud is segmented in the two-dimensional depth map to distinguish between point clouds belonging to the ground and point clouds that do not belong to the ground.

[0086] Optionally, the segmentation unit is further used to: segment the point cloud belonging to the ground according to the slope between adjacent points of the ray according to a pre-set parameter groundScanInd, wherein the parameter groundScanInd is used to indicate the segmentation of the point cloud with a ring value between 0 and (groundScanInd-1), and the parameter groundScanInd is a positive integer greater than 0; cluster the point cloud that does not belong to the ground using the Euclidean clustering method, wherein the number of point clouds in a cluster is greater than N and the number of rings spanned is at least M, N is a positive integer greater than or equal to 30, and M is a positive integer greater than or equal to 3.

[0087] Optionally, the extraction unit is also used to: for the point cloud of each segmented area, obtain the roughness of each point in the area according to the following formula: take the points whose roughness is greater than a first threshold as the edge points of the area, and take the points whose roughness is not greater than the first threshold as the plane points of the area.

[0088] Optionally, the extraction unit is further configured to: after taking points with a roughness greater than a first threshold as edge points of the region and taking points with a roughness not greater than the first threshold as plane points of the region, select O edge points with the largest roughness from all points in the region and add them to the first set And select P plane nodes with the smallest roughness from all points in the area and add them to the second set , where the positive integer O is less than the positive integer P; Q edge points with the largest roughness and not belonging to the ground are selected from all points in the area and added to the third set F e And select R edge nodes with the smallest roughness and belonging to the ground from all points in the area and add them to the fourth set F p , where the positive integer Q is less than the positive integer R, and Q is less than O, and R is less than P.

[0089] Optionally, the extraction unit is further configured to: Previous scan frame Currently scanning and the previous scan Perform feature point matching to obtain a transformation relationship between the current scan frame and the previous scan frame, wherein: The third set F of the current scan frame at time t e , is the first set of the previous scan frame at time (t-1) The fourth set F of the current scan frame at time t p , The second set of the previous scan frame at time (t-1)

[0090] Optionally, the above-mentioned device may also include a positioning unit, which is used to obtain the final posture estimation, key frame and three-dimensional map of the wall-climbing robot by fusing the point cloud map and the transformation relationship, and then, based on the position of the wall-climbing robot in the previous scanning frame, offset the odometer position of the wall-climbing robot obtained by the laser radar to obtain the first position data of the predicted position of the wall-climbing robot in the current scanning frame; after receiving the new point cloud, use the NDT algorithm to make a prediction to obtain the second position data of the predicted position of the wall-climbing robot; and fuse the first position data of the predicted position of the wall-climbing robot and the second position data of the predicted position of the wall-climbing robot according to the extended Kalman filtering method to obtain the current position of the wall-climbing robot.

[0091] Optionally, the specific examples in this embodiment may refer to the examples described in the above embodiments, and this embodiment will not be described in detail here.

[0092] Optionally, in this embodiment, the above-mentioned storage medium may include but is not limited to: a USB flash drive, a read-only memory (ROM), a random access memory (RAM), a mobile hard disk, a magnetic disk or an optical disk, and other media that can store program codes.

[0093] The serial numbers of the above-mentioned embodiments of the present application are for description only and do not represent the advantages or disadvantages of the embodiments.

[0094] If the integrated units in the above embodiments are implemented in the form of software functional units and sold or used as independent products, they can be stored in the above computer-readable storage medium. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for enabling one or more computer devices (which may be personal computers, servers, or network devices, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application.

[0095] In the above embodiments of the present application, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.

[0096] In the several embodiments provided in the present application, it should be understood that the disclosed client can be implemented in other ways. Among them, the device embodiments described above are only schematic. For example, the division of the units is only a logical function division. There may be other division methods in actual implementation. For 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 mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of units or modules, which can be electrical or other forms.

[0097] The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0098] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.

[0099] The above is only a preferred implementation of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.

Claims

1. A method for constructing an autonomous driving map for a wall-climbing robot, characterized in that: include: Segment the point cloud according to the area to which it belongs; Extract regional features from the segmented point cloud; Determine the transformation relationship between two adjacent frames of point cloud based on the extracted regional features, and match the current scan frame to the global point cloud map based on the extracted regional features; By integrating the point cloud map and transformation relationship, the final posture estimation, key frames and 3D map of the wall-climbing robot are obtained; After fusing the point cloud map and the transformation relationship to obtain the final posture estimation, key frames and three-dimensional map of the wall-climbing robot, the method further includes: Based on the position of the wall-climbing robot in the previous scanning frame, an offset is performed according to the odometer position of the wall-climbing robot obtained by the laser radar to obtain first position data of the predicted position of the wall-climbing robot in the current scanning frame; After receiving the new point cloud, using the NDT algorithm to perform prediction, obtaining second position data of the predicted position of the wall-climbing robot; The first position data of the predicted position of the wall-climbing robot and the second position data of the predicted position of the wall-climbing robot are fused according to the extended Kalman filter method to obtain the current position current_pose of the wall-climbing robot as follows: current_pose=predict_pose+K(k+1)[NDT_pose-h(predict_pose)]; Wherein, K(k+1) is the Kalman gain matrix, h(·) is the output equation of the Kalman filter state space equation, predict_pose is the first position data, and NDT_pose is the second position data.

2. The method for constructing an automatic driving map of a wall-climbing robot according to claim 1, characterized in that: Segment the point cloud according to the area it belongs to, including: Perform a plane projection on the point cloud to obtain a two-dimensional depth map composed of the point cloud, wherein the number of rows of the two-dimensional depth map is the number of lines of the laser thunder points, and the number of columns of the two-dimensional depth map is the lateral resolution of the point cloud. If the point cloud includes a ring, the ring is directly used as the row index of the two-dimensional depth map. If the point cloud does not include a ring, the row index of the two-dimensional depth map is determined according to the depression angle; The point cloud is segmented in the two-dimensional depth map to distinguish between point clouds belonging to the ground and point clouds not belonging to the ground.

3. The method for constructing an automatic driving map of a wall-climbing robot according to claim 2, characterized in that: Segmenting the point cloud in the two-dimensional depth map to distinguish point clouds belonging to the ground and point clouds not belonging to the ground includes: According to the preset parameter groundScanInd, the point cloud belonging to the ground is segmented according to the slope between the adjacent points of the ray, wherein the parameter groundScanInd is used to indicate that the point cloud between the ring 0 and (groundScanInd-1) is segmented, and the parameter groundScanInd is a positive integer greater than 0; The point clouds that do not belong to the ground are clustered using the Euclidean clustering method, where the number of point clouds in a cluster is greater than N and the number of rings spanned is at least M, where N is a positive integer greater than or equal to 30, and M is a positive integer greater than or equal to 3.

4. The method for constructing an automatic driving map of a wall-climbing robot according to claim 1, characterized in that: Extract regional features from the segmented point cloud, including: For each segmented point cloud, get the roughness of each point in the area: Points whose roughness is greater than a first threshold are regarded as edge points of the region, and points whose roughness is not greater than the first threshold are regarded as plane points of the region, wherein the first threshold is a positive number.

5. The method for constructing an automatic driving map of a wall-climbing robot according to claim 4, characterized in that: After taking points whose roughness is greater than a first threshold as edge points of the region and taking points whose roughness is not greater than the first threshold as plane points of the region, the method further comprises: Select O edge points with the largest roughness from all points in the area and add them to the first set And select P plane nodes with the smallest roughness from all points in the area and add them to the second set , where the positive integer O is less than the positive integer P; From all the points in the area, select Q edge points with the largest roughness and not belonging to the ground and add them to the third set F e And select R edge nodes with the smallest roughness and belonging to the ground from all points in the area and add them to the fourth set F p , where the positive integer Q is less than the positive integer R, and Q is less than O, and R is less than P.

6. The method for constructing an automatic driving map of a wall-climbing robot according to claim 5, characterized in that: The transformation relationship between two adjacent frame point clouds is determined based on the extracted regional features, including: By Previous scan frame Currently scanning and the previous scan Perform feature point matching to obtain a transformation relationship between the current scan frame and the previous scan frame, wherein: The third set F of the current scan frame at time t e , is the first set of the previous scan frame at time (t-1) The fourth set F of the current scan frame at time t p , The second set of the previous scan frame at time (t-1) 7. A device for constructing an automatic driving map for a wall-climbing robot, characterized in that: include: A segmentation unit is used to segment the point cloud according to the area to which it belongs; An extraction unit, used to extract regional features from the segmented point cloud; A processing unit, used to determine the transformation relationship between two adjacent frames of point cloud according to the extracted regional features, and match the current scan frame to the global point cloud map according to the extracted regional features; A fusion unit is used to fuse the point cloud map and the transformation relationship to obtain the final posture estimation, key frame and three-dimensional map of the wall-climbing robot. After fusing the point cloud map and the transformation relationship to obtain the final posture estimation, key frame and three-dimensional map of the wall-climbing robot, it also includes: based on the position of the wall-climbing robot in the previous scanning frame, offset according to the odometer position of the wall-climbing robot obtained by the laser radar to obtain the first position data of the predicted position of the wall-climbing robot in the current scanning frame; after receiving the new point cloud, use the NDT algorithm to predict and obtain the second position data of the predicted position of the wall-climbing robot; according to the extended Kalman filtering method, the first position data of the predicted position of the wall-climbing robot and the second position data of the predicted position of the wall-climbing robot are fused to obtain the current position current_pose of the wall-climbing robot as follows: current_pose=predict_pose+K(k+1)[NDT_pose-h(predict_pose)]; wherein K(k+1) is the Kalman gain matrix, h(·) is the output equation of the Kalman filter state space equation, predict_pose is the first position data, and NDT_pose is the second position data.

8. A storage medium, characterized in that: The storage medium includes a stored program, wherein the program, when running, executes the method for constructing an autonomous driving map for a wall-climbing robot as described in any one of claims 1 to 6 above.

9. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor executes the method for constructing an autonomous driving map for a wall-climbing robot as described in any one of claims 1 to 6 through the computer program.