Laser SLAM rear-end optimization method and device based on lightweight spherical map representation
By using a lightweight spherical map representation method, bidirectional registration and loop closure detection, the problems of single registration direction and inefficient loop closure detection in LiDAR SLAM backend optimization are solved, achieving high-precision and low-cost large-scale environment mapping, and improving the accuracy and efficiency of the SLAM system.
Patent Information
- Application Number
- CN202510694561.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-05-28
- Publication Date
- 2025-10-03
AI Technical Summary
Existing LiDAR SLAM back-end optimization solutions have problems such as single registration direction, inefficient loop detection and high optimization cost, which leads to local error accumulation and high computational overhead.
A method based on lightweight spherical map representation is adopted to generate a local map by spherical sampling. Bidirectional registration and loop closure detection are used, combined with a pre-built KD-Tree index of fixed spherical segmentation, to achieve efficient point cloud-map registration and global optimization.
It significantly improves the accuracy and efficiency of the SLAM system, reduces local error accumulation, reduces computational costs, improves map consistency and LiDAR odometry accuracy, and achieves high-precision, low-cost large-scale environment mapping.
Smart Images

Figure CN120742344A_ABST
Abstract
Description
Technical Field
[0001] The present disclosure belongs to the field of laser SLAM technology, and in particular relates to a laser SLAM backend optimization method and device based on lightweight spherical map representation. Background Art
[0002] Laser radar (LiDAR), due to its high precision and robustness against light interference, has become a key sensor in fields such as autonomous driving, robotic navigation, and augmented reality. Simultaneous Localization and Mapping (SLAM) technology based on LiDAR, capable of building a real-time map of the environment and estimating the vehicle's position, is a core capability for autonomous operation of intelligent unmanned systems.
[0003] LiDAR SLAM requires back-end optimization to improve map accuracy and consistency by building constraints. First, by registering adjacent point clouds, the system can obtain constraints between local poses. These constraints reflect the relative position changes of the intelligent unmanned system as it moves through the environment. Second, loop closure detection technology can identify when the intelligent unmanned system returns to previously visited locations, thereby forming global constraints that help correct accumulated errors. Back-end optimization minimizes the errors of all constraints to obtain a globally consistent map and trajectory of the intelligent unmanned system, thereby improving the overall performance and robustness of the SLAM system.
[0004] However, the existing LiDAR SLAM backend optimization solutions have the following limitations:
[0005] Single registration direction: Traditional point cloud-map registration only uses historical maps to constrain the current frame, and the lack of reverse constraints leads to local error accumulation;
[0006] Inefficient loop closure detection: retrieval methods based on point cloud descriptors are computationally intensive and require independent pose estimation, resulting in a fragmented process.
[0007] High optimization cost: The topological structure expressed based on the surface element / grid map is rigid, and closed-loop adjustment requires reconstruction of the geometric model, which results in high computational overhead. Summary of the Invention
[0008] The disclosed embodiments propose a laser SLAM backend optimization solution based on lightweight spherical map representation to solve the problems of single registration direction, inefficient loop detection and high optimization cost in existing laser SLAM backend optimization solutions.
[0009] A first aspect of the embodiments of the present disclosure provides a laser SLAM backend optimization method based on lightweight spherical map representation, comprising:
[0010] A local point cloud generated by performing a SLAM task on a laser radar is subjected to spherical sampling to generate a local map represented by a spherical map, wherein the local point cloud is divided into a plurality of point cloud blocks by spherical sampling points, and the local map stores the pose of the local point cloud and the structural features of the fitting plane of the point cloud block;
[0011] Performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively, wherein the point cloud-map registration refers to adjusting the pose of the point cloud frame so that the sum of the distances between each point cloud point in the point cloud frame and the associated plane in the local map is minimized;
[0012] The structural similarity between the local maps is determined based on the differences in the structural features of all the fitting planes contained in different local maps. The local maps are subjected to loop detection based on the structural similarity and the Euclidean distance, and the overall posture of each local map constituting the loop is uniformly adjusted.
[0013] In some embodiments of the present disclosure, generating a local map represented by a spherical map by spherical sampling of a local point cloud includes:
[0014] Fibonacci grid points are used to generate uniformly distributed sampling points on a unit sphere, a globally unique index is established for the sampling points based on a K-dimensional tree, the local point cloud is sampled based on the sampling points, and the local map is generated.
[0015] In some embodiments of the present disclosure, sampling the local point cloud based on the sampling points to generate the local map includes:
[0016] Projecting the local point cloud onto the unit sphere, determining the sampling point closest to the projection point of the point cloud point in the local point cloud on the unit sphere based on the K-dimensional tree, and establishing a correspondence between the point cloud point and the sampling point;
[0017] All point cloud points corresponding to one of the sampling points form a point cloud block, and a plane is fitted to each of the point cloud blocks to determine a plane index and structural parameters of the plane, wherein the structural parameters include at least a normal vector and a distance to the origin of the unit sphere;
[0018] The plane index and the structure parameters are stored in the local map.
[0019] In some embodiments of the present disclosure, sampling the local point cloud based on the sampling points to generate the local map further includes:
[0020] If the distance difference between the point cloud points in the point cloud block and the origin of the unit sphere exceeds a preset threshold, the fitting plane of the point cloud block is determined to be an invalid plane, and the plane index and structure parameters of the invalid plane are not stored.
[0021] In some embodiments of the present disclosure, the distance between a point cloud point and an associated plane in the local map refers to:
[0022] Determine the sampling point corresponding to the point cloud point based on the corresponding relationship, and the fitting plane corresponding to the sampling point is the associated plane of the point cloud point;
[0023] The distance between the point cloud point and the associated plane is determined based on the following formula:
[0024]
[0025] Where T is the position of the point cloud frame in the local point cloud relative to the local map, D plane (T) is the distance between the point cloud point and the associated plane in the pose, are the coordinates of the point cloud points, is the coordinate of the sampling point corresponding to the point cloud point, d j and n j are the distance and normal vector from the associated plane to the origin of the unit sphere, respectively.
[0026] In some embodiments of the present disclosure, determining the structural similarity between the local maps based on the differences in structural features of all the fitting planes contained in different local maps includes:
[0027] Determining a global descriptor of the local map based on an angle formed by a normal vector of each of the fitting planes stored in the local map and a perpendicular line of the unit sphere;
[0028] The structural similarity between the local maps is determined based on the difference between the global descriptors of different local maps.
[0029] In some embodiments of the present disclosure, determining the global descriptor of the local map based on the angle formed by the normal vector of each fitting plane stored in the local map and the perpendicular line of the unit sphere includes:
[0030] A distribution histogram of the angle in the local map is calculated, and the global descriptor is constructed using the distribution histogram.
[0031] In some embodiments of the present disclosure, performing loop closure detection on the local map based on structural similarity and Euclidean distance includes:
[0032] Search the historical local maps for a preset number of local maps with the smallest weighted sum of structural similarity and Euclidean distance to the current local map as loop candidates;
[0033] The local map is selected from the loop candidates according to a preset standard and added to the pose graph for global optimization.
[0034] In some embodiments of the present disclosure, selecting the local map from the loop closure candidates according to a preset standard and adding it to the pose graph for global optimization includes:
[0035] Performing point cloud-map registration on the current point cloud frame and the local map as a loop closure candidate respectively;
[0036] The historical map whose inlier ratio exceeds a preset threshold during the registration process is selected and added to the pose graph for global optimization.
[0037] A second aspect of the embodiments of the present disclosure provides a laser SLAM backend optimization device based on lightweight spherical map representation, comprising:
[0038] A mapping module, configured to generate a local map represented by a spherical map from a local point cloud generated by a laser radar performing a SLAM task by spherical sampling, wherein the local point cloud is segmented into a plurality of point cloud blocks by spherical sampling points, and the local map stores the pose of the local point cloud and the structural features of the fitting plane of the point cloud block;
[0039] a bidirectional registration module for performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively, wherein the point cloud-map registration refers to adjusting the pose of the point cloud frame so as to minimize the sum of the distances between each point cloud point in the point cloud frame and the associated plane in the local map;
[0040] The global optimization module is used to determine the structural similarity between the local maps based on the differences in the structural features of all the fitting planes contained in different local maps, perform loop detection on the local maps based on the structural similarity and Euclidean distance, and uniformly adjust the overall position of each local map that constitutes the loop.
[0041] In summary, the laser SLAM back-end optimization method and device based on lightweight spherical map representation provided by the embodiments of the present disclosure significantly improves the accuracy and efficiency of the SLAM system through bidirectional registration and loop detection. In the bidirectional registration, by simultaneously executing forward (current scan to historical BALL) and reverse (historical scan to current BALL) point cloud-map registration, fusing multi-source geometric constraints, and utilizing the structural information of the local map, the cumulative error of a single registration is effectively reduced. Experiments show that it can improve the accuracy of existing LiDAR odometers by up to 26.88%; at the same time, the pre-built KD-Tree reuse mechanism based on fixed spherical segmentation eliminates the time-consuming traditional dynamic tree construction and supports high-frequency iterative optimization involving the entire point cloud; in loop detection, by scanning to the candidate BALL registration verification, the location recognition and posture correction are realized simultaneously, combined with the lightweight optimization strategy of only adjusting the BALL posture (keeping the content unchanged), the global error is corrected at a very low computational cost, improving the location. Figure 1 The two technologies work together to achieve high-precision, low-cost large-scale environmental mapping. BRIEF DESCRIPTION OF THE DRAWINGS
[0042] The features and advantages of the present disclosure will be more clearly understood by referring to the accompanying drawings, which are schematic and should not be construed as limiting the present disclosure in any way. In the accompanying drawings:
[0043] Figure 1 is a schematic diagram of a computer system to which the present disclosure is applicable;
[0044] Figure 2 It is a general SLAM backend optimization framework based on BALLmap shown in this disclosure;
[0045] Figure 3 is a flowchart of a laser SLAM backend optimization method based on lightweight spherical map representation according to some embodiments of the present disclosure;
[0046] Figure 4 is a schematic diagram of point cloud-map registration in some embodiments of the present disclosure;
[0047] Figure 5 This is a schematic diagram of trajectory deviation caused by map error in laser SLAM;
[0048] Figure 6 This is a schematic diagram showing the elimination of trajectory deviation based on this method;
[0049] Figure 7 3 is a schematic diagram of a laser SLAM back-end optimization device based on lightweight spherical map representation according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0050] In the detailed description that follows, many specific details of the present disclosure are set forth by way of example in order to provide a thorough understanding of the relevant disclosure. However, it will be apparent to one of ordinary skill in the art that the present disclosure can be implemented without these details. It should be understood that the use of the terms "system," "device," "unit," and / or "module" in the present disclosure is a method for distinguishing between different parts, elements, parts, or assemblies at different levels in a sequential arrangement. However, these terms may be replaced by other expressions if they can achieve the same purpose.
[0051] It should be understood that when a device, unit, or module is referred to as being "on," "connected to," or "coupled to" another device, unit, or module, it may be directly on, connected to, coupled to, or in communication with the other device, unit, or module, or there may be intervening devices, units, or modules, unless the context clearly indicates an exception. For example, the term "and / or" as used in this disclosure includes any and all combinations of one or more of the associated listed items.
[0052] The terms used in this disclosure are only for describing specific embodiments and are not intended to limit the scope of this disclosure. As shown in the specification and claims of this disclosure, unless the context clearly indicates an exception, the words "a", "an", "a kind" and / or "the" do not specifically refer to the singular and may also include the plural. Generally speaking, the terms "include" and "comprise" only indicate the inclusion of clearly identified features, wholes, steps, operations, elements and / or components, and such expressions do not constitute an exclusive list, and other features, wholes, steps, operations, elements and / or components may also be included.
[0053] These and other features and characteristics of the present disclosure, as well as the methods of operation, the functions of the related elements of the structure, the combination of parts, and the economy of manufacture may be better understood with reference to the following description and accompanying drawings, which form a part of this specification. However, it is to be expressly understood that the drawings are for illustration and description purposes only and are not intended to limit the scope of protection of the present disclosure. It is to be understood that the drawings are not drawn to scale.
[0054] Various structural diagrams are used in this disclosure to illustrate various variations of the embodiments of the present disclosure. It should be understood that the preceding or following structures are not intended to limit the present disclosure. The scope of protection of the present disclosure is subject to the claims.
[0055] Figure 1 is a schematic diagram of a computer system to which the present disclosure is applicable. Figure 1The computer system shown includes a data-connected SLAM server and an optimization server. The SLAM server controls a laser radar to acquire point cloud data of the target area and, with the assistance of the optimization server, simultaneously constructs an environmental map and estimates its own position. The optimization server constructs a lightweight spherical map based on the point cloud data and performs back-end optimization on the map.
[0056] Laser radar (LiDAR) generates point cloud data by emitting laser pulses and receiving the target's reflected signal (based on the Time of Flight principle). Due to its high precision and resistance to light interference, LiDAR has become a key sensor in fields such as autonomous driving, robotic navigation, and augmented reality. This disclosure does not limit the type of LiDAR; any LiDAR based on the Time of Flight principle that can generate point cloud data for a target area is applicable to this disclosure.
[0057] SLAM (Simultaneous Localization and Mapping) refers to the simultaneous positioning and construction of an environmental map. LiDAR-based SLAM technology can construct environmental maps and estimate its own position in real time, making it a core capability for autonomous operation of intelligent unmanned systems. In recent years, with the improvement of LiDAR hardware performance and the optimization of SLAM algorithms, laser SLAM has achieved centimeter-level short-term positioning accuracy.
[0058] The traditional cartographic representation of point cloud data is a point cloud map, which stores the geometric information of the point cloud data in three-dimensional space, including coordinates and spatial distribution characteristics. This disclosure uses a lightweight spherical map as the cartographic representation of the point cloud. "Lightweight" means that only geometric parameters are stored, not the original point cloud, thus significantly reducing storage space.
[0059] Back-end optimization of a SLAM system involves minimizing the errors across all constraints to obtain a globally consistent map, thereby improving the overall performance and robustness of the SLAM system. Constraints include constraints between local poses and global constraints. Local constraints reflect the relative position changes of the robot as it moves through the environment, while global constraints help correct for accumulated errors.
[0060] In the present disclosure, the SLAM server and the optimization server can be any of a stand-alone, cluster or distributed server. In particular, the optimization server can be a functional module of the SLAM server.
[0061] Current SLAM systems optimize local constraints by registering adjacent point clouds and global constraints through loop closure detection, which involves identifying when a robot returns to a previously visited location, thereby forming a global constraint.
[0062] However, the current backend optimization solutions for SLAM systems have the following limitations:
[0063] Single registration direction: Traditional point cloud-map registration only uses historical maps to constrain the current frame, and the lack of reverse constraints leads to local error accumulation;
[0064] Inefficient loop closure detection: retrieval methods based on point cloud descriptors are computationally intensive and require independent pose estimation, resulting in a fragmented process.
[0065] High optimization cost: The topological structure of the surface element / grid map is fixed, and closed-loop adjustment requires reconstruction of the geometric model, which is computationally expensive.
[0066] To this end, this paper proposes a general SLAM backend optimization framework based on BALLmap, which realizes high-precision and low-cost global map optimization through bidirectional registration and loop detection. Figure 2 shown.
[0067] Figure 3 is a flowchart of a laser SLAM backend optimization method based on lightweight spherical map representation according to some embodiments of the present disclosure. In some embodiments, the laser SLAM backend optimization method based on lightweight spherical map representation is composed of Figure 1 The optimization server shown is executed, and the method includes the following steps:
[0068] S210, generating a local map represented by a spherical map through spherical sampling of the local point cloud generated by the laser radar performing the SLAM task, wherein the local point cloud is divided into multiple point cloud blocks by spherical sampling points, and the local map stores the posture of the local point cloud and the structural features of the fitting plane of the point cloud block.
[0069] First, generate BALL based on the local map. Specifically:
[0070] BALLmap is constructed based on point cloud sequence and the pose {P i} is input. BALLmap is As a basic unit, it is a set of BALL and its corresponding posture, that is, BALL uses a fixed spherical segmentation method to project the local point cloud onto a unit sphere with the center of the BALL as the origin. The Fibonacci lattice is used to generate a uniformly distributed spherical sampling point set. And through the pre-built KD-Tree F Accelerate the search for neighboring points. Split the local point cloud into N spBlock, plane fitting is performed on each point cloud block, and each BALL saves N sp ×4 plane parameters, respectively, the distance d j , that is, the distance from the origin to the plane intersection along the direction of the spherical sampling point, and the normal vector (n x , n y , n z At the same time, invalid planes (planes fitted by mixed foreground and background point clouds) are filtered out and only valid plane parameters are stored.
[0071] Because BALL only stores geometric parameters rather than the original point cloud, BALLmap is a "lightweight" map representation of point cloud data, significantly reducing the required storage space. Furthermore, establishing a globally unique index based on the KD-Tree avoids the computational overhead of repeatedly building the index during retrieval.
[0072] S220, performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively, wherein the point cloud-map registration refers to adjusting the posture of the point cloud frame so that the total distance between each point cloud point in the point cloud frame and the associated plane in the local map is minimized.
[0073] Then perform general backend optimization on BALLmap.
[0074] First, by performing forward point cloud-map registration and reverse point cloud-map registration, the poses of adjacent balls and their corresponding frames are optimized simultaneously to achieve the optimization of local constraints.
[0075] Point cloud-map registration refers to taking the established BALL and the LiDAR point cloud with a known initial pose T (relative to the BALL) as input and outputting the precise pose of the point cloud relative to the BALL.
[0076] BALL stores the plane parameters of each point cloud block, so point cloud to BALL registration is essentially a variant of point-to-plane registration. The main difference is that this process reuses the KD-Tree of the spherical sample point set F (rather than constructing a 3D spatial KD-Tree for each map) to find spherical correspondences.
[0077] Specifically, for the points in the scan First project it onto the unit sphere, then pass the Tree F Find the nearest spherical sampling point in F The corresponding normal vector n stored in BALL j and distance d j Defined with The associated plane. The point-plane distance is calculated using the following formula:
[0078]
[0079] Where T is the position of the point cloud frame in the local point cloud relative to the local map, D plane (T) is the distance between the point cloud point and the associated plane in the pose, are the coordinates of the point cloud points, is the coordinate of the sampling point corresponding to the point cloud point, d j and n j are the distance and normal vector from the associated plane to the origin of the unit sphere, respectively.
[0080] By adjusting the pose T, the sum of the distances from the point cloud frame to the plane can be gradually reduced, achieving alignment between the current frame and the local map. This process uses the Gauss-Newton method to solve the nonlinear equation to obtain the optimal pose estimate. The Jacobian matrix is calculated using the chain rule:
[0081]
[0082] Among them J p By left perturbation model calculate:
[0083]
[0084] in,[] × represents the skew-symmetric matrix of the transformation point, and I is the identity matrix.
[0085] Figure 4 is a schematic diagram of point cloud-map registration in some embodiments of the present disclosure.
[0086] Preferably, the present disclosure performs forward point cloud-map registration on the first point cloud frame of the local point cloud at the current moment and the local map at the previous moment, which is formally expressed as: the initial pose provided by the LiDAR odometry is the initial value, and Perform point cloud-to-map registration.
[0087] Perform reverse point cloud-map registration on the first point cloud frame of the local point cloud at the previous moment and the local map at the current moment, which can be formally expressed as: -1 is the initial value, and Perform point cloud-to-map registration.
[0088] The Jacobian matrix of the inverse optimization process is calculated by the left perturbation inverse pose:
[0089]
[0090] Among them, s represents a point cloud point.
[0091] Of course, the optimization of local constraints can also be achieved by performing forward point cloud-map registration on other point cloud frames of the local point cloud at the current moment and the local map at the previous moment, and performing reverse point cloud-map registration on other point cloud frames of the local point cloud at the previous moment and the local map at the current moment.
[0092] BALL-based registration is highly efficient because the establishment of correspondences and loss calculations can be parallelized, and a new KD-Tree does not need to be built for each registration. This allows all point clouds from both frames to be included in the optimization process, and multiple iterations are used to ensure the correctness of correspondences and convergence of the optimization, thereby ensuring registration accuracy.
[0093] S230: Determine the structural similarity between the local maps based on the differences in structural features of all the fitted planes contained in different local maps, perform loop detection on the local maps based on the structural similarity and the Euclidean distance, and uniformly adjust the overall pose of each local map constituting the loop.
[0094] The global constraints are then optimized through loop closure detection.
[0095] For loop detection, the present disclosure uses a loop detection method that integrates distance similarity and histogram similarity. Specifically, when a new When , first calculate The angle between the normal vector of each fitted plane and the vertical line of the circle surface is calculated to form the global descriptor of BALL by calculating the distribution histogram. Then, the nearest n loop The final loop candidates are obtained by jointly considering the distance between global descriptors and the Euclidean distance. Histogram similarity represents the similarity of the spatial distribution of point clouds between two balls. By comprehensively considering the structural similarity and distance of the point cloud distribution between balls, balls that serve as loop candidates can be found more accurately than considering distance alone.
[0096] Later, in Point cloud-to-map registration is performed between these candidate balls. During the registration process, candidates whose inlier ratio exceeds a preset threshold are considered to have correct loop closures, and their results are incorporated into the pose graph for global optimization. This disclosure simultaneously achieves location recognition and pose correction through point cloud-to-ball candidate registration verification, reducing computational costs.
[0097] When optimizing the global map, since the error in a short period of time is much smaller than the cumulative error accumulated over a long period of time, the global map optimization based on BALLmap only needs to adjust the posture of each unit without modifying the plane parameters inside each BALL unit. This can build a globally consistent map with extremely low computational overhead.
[0098] Finally, the optimized Ballmap is output.
[0099] One embodiment of the present disclosure is based on Figure 3 The method described in S310-S330 (hereinafter referred to as this method) performs back-end optimization on the map generated in the target area, thereby obtaining a trajectory closer to the true value. Figure 5-Figure 6 shown.
[0100] Figure 5 This is a schematic diagram of trajectory deviation caused by laser SLAM due to map error. Figure 5 The dashed line in the middle is the true trajectory, and the solid line is the trajectory obtained by the baseline SLAM algorithm. The left image shows the entire trajectory in the target area, and the middle image is a magnification of the portion of the trajectory that forms the loop shown in the left image. The right image shows the three-dimensional components of the looped portion of the trajectory. As can be seen from the middle image, the true round-trip trajectory represented by the dashed lines overlaps, forming a loop, but the trajectory obtained by the laser SLAM (solid line) is not closed, which clearly shows that the baseline SLAM algorithm introduced errors. The Z component of the trajectory in the right image clearly shows that due to the error, there is a large deviation between the trajectory obtained by the baseline SLAM algorithm (solid line) and the true trajectory (dashed line).
[0101] Figure 6 is based on Figure 3 Schematic diagram of how the method described in S310-S330 (hereinafter referred to as this method) eliminates trajectory deviation. Figure 5 The dashed line in the middle is the true trajectory, while the solid line is the trajectory obtained by optimizing the baseline SLAM algorithm using this method. As can be seen in the middle figure, the true round-trip trajectory represented by the dashed line overlaps, forming a loop. The solid and dashed lines obtained using this optimization method essentially overlap, completing the trajectory closure. This clearly demonstrates that the errors introduced by the baseline SLAM algorithm have been eliminated by this method. In the right figure, the solid and dashed lines also essentially overlap in the three-dimensional components, indicating that the errors have been largely eliminated.
[0102] Figure 7 FIG. 1 is a schematic diagram of a laser SLAM backend optimization device based on a lightweight spherical map representation according to some embodiments of the present disclosure. Figure 7 As shown, the laser SLAM backend optimization device 700 based on lightweight spherical map representation includes a mapping module 710, a bidirectional registration module 720, and a global optimization module 730. In some embodiments of the present disclosure, the laser SLAM backend optimization function based on lightweight spherical map representation is composed of Figure 1 The optimized server execution shown is shown.
[0103] A mapping module 710 is configured to generate a local map represented by a spherical map from a local point cloud generated by a laser radar performing a SLAM task by spherical sampling, wherein the local point cloud is segmented into a plurality of point cloud blocks by spherical sampling points, and the local map stores the pose of the local point cloud and the structural features of the fitting plane of the point cloud block;
[0104] a bidirectional registration module 720 for performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively. Point cloud-map registration refers to adjusting the pose of the point cloud frame so as to minimize the sum of the distances between each point in the point cloud frame and the associated plane in the local map;
[0105] The global optimization module 730 is used to determine the structural similarity between the local maps based on the differences in the structural features of all the fitted planes contained in different local maps, perform loop detection on the local maps based on the structural similarity and Euclidean distance, and uniformly adjust the overall pose of each local map that constitutes the loop.
[0106] In summary, the laser SLAM back-end optimization method and device based on lightweight spherical map representation provided by the embodiments of the present disclosure significantly improves the accuracy and efficiency of the SLAM system through bidirectional registration and loop detection. In the bidirectional registration, by simultaneously executing forward (current scan to historical BALL) and reverse (historical scan to current BALL) point cloud-map registration, fusing multi-source geometric constraints, and utilizing the structural information of the local map, the cumulative error of a single registration is effectively reduced. Experiments show that it can improve the accuracy of existing LiDAR odometers by up to 26.88%; at the same time, the pre-built KD-Tree reuse mechanism based on fixed spherical segmentation eliminates the time-consuming traditional dynamic tree construction and supports high-frequency iterative optimization involving the entire point cloud; in loop detection, by scanning to the candidate BALL registration verification, the location recognition and posture correction are realized simultaneously, combined with the lightweight optimization strategy of only adjusting the BALL posture (keeping the content unchanged), the global error is corrected at a very low computational cost, improving the location. Figure 1 The two technologies work together to achieve high-precision, low-cost large-scale environmental mapping.
[0107] Those skilled in the art will clearly understand that, for the convenience and brevity of description, the specific working processes of the above-described devices and modules can refer to the corresponding descriptions in the aforementioned device embodiments and will not be repeated here.
[0108] Although the subject matter described herein is provided in the general context of being executed in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may also be performed in conjunction with other types of program modules. Generally speaking, program modules include routines, programs, components, data structures, and other types of structures that perform specific tasks or implement specific abstract data types. Those skilled in the art will appreciate that the subject matter described herein may be practiced using other computer system configurations, including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like, and may also be used in distributed computing environments in which tasks are performed by remote processing devices connected via a communication network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
[0109] Those skilled in the art will appreciate that the units and method steps of each example described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Professionals and technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this disclosure.
[0110] It should be understood that the above-described specific embodiments of the present disclosure are merely illustrative of or explanation of the principles of the present disclosure and do not constitute limitations on the present disclosure. Therefore, any modifications, equivalent substitutions, improvements, etc. made without departing from the spirit and scope of the present disclosure shall be included within the scope of protection of the present disclosure. In addition, the claims appended to the present disclosure are intended to cover all variations and modifications that fall within the scope and metes and bounds of the appended claims, or equivalents of such scope and metes and bounds.
Claims
1. A laser SLAM backend optimization method based on lightweight spherical map representation, characterized in that: include: A local point cloud generated by performing a SLAM task on a laser radar is subjected to spherical sampling to generate a local map represented by a spherical map, wherein the local point cloud is divided into a plurality of point cloud blocks by spherical sampling points, and the local map stores the pose of the local point cloud and the structural features of the fitting plane of the point cloud block; Performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively, wherein the point cloud-map registration refers to adjusting the pose of the point cloud frame so that the sum of the distances between each point cloud point in the point cloud frame and the associated plane in the local map is minimized; The structural similarity between the local maps is determined based on the differences in the structural features of all the fitting planes contained in different local maps. The local maps are subjected to loop detection based on the structural similarity and the Euclidean distance, and the overall posture of each local map constituting the loop is uniformly adjusted.
2. The method according to claim 1, characterized in that The local point cloud is sampled by spherical surface to generate a local map represented by a spherical map, including: Fibonacci grid points are used to generate uniformly distributed sampling points on a unit sphere, a globally unique index is established for the sampling points based on a K-dimensional tree, the local point cloud is sampled based on the sampling points, and the local map is generated.
3. The method according to claim 2, characterized in that Sampling the local point cloud based on the sampling points to generate the local map includes: Projecting the local point cloud onto the unit sphere, determining the sampling point closest to the projection point of the point cloud point in the local point cloud on the unit sphere based on the K-dimensional tree, and establishing a correspondence between the point cloud point and the sampling point; All point cloud points corresponding to one of the sampling points form a point cloud block, and a plane is fitted to each of the point cloud blocks to determine a plane index and structural parameters of the plane, wherein the structural parameters include at least a normal vector and a distance to the origin of the unit sphere; The plane index and the structure parameters are stored in the local map.
4. The method according to claim 3, characterized in that Sampling the local point cloud based on the sampling points to generate the local map further includes: If the distance difference between the point cloud points in the point cloud block and the origin of the unit sphere exceeds a preset threshold, the fitting plane of the point cloud block is determined to be an invalid plane, and the plane index and structure parameters of the invalid plane are not stored.
5. The method according to claim 4, characterized in that: The distance between a point cloud point and the associated plane in the local map is: Determine the sampling point corresponding to the point cloud point based on the corresponding relationship, and the fitting plane corresponding to the sampling point is the associated plane of the point cloud point; The distance between the point cloud point and the associated plane is determined based on the following formula: Where T is the position of the point cloud frame in the local point cloud relative to the local map, D plane (T) is the distance between the point cloud point and the associated plane in the pose, are the coordinates of the point cloud points, is the coordinate of the sampling point corresponding to the point cloud point, d j and n j are the distance and normal vector from the associated plane to the origin of the unit sphere, respectively.
6. The method according to claim 5, characterized in that Determining the structural similarity between the local maps based on the differences in structural features of all the fitting planes contained in different local maps includes: Determining a global descriptor of the local map based on an angle formed by a normal vector of each of the fitting planes stored in the local map and a perpendicular line of the unit sphere; The structural similarity between the local maps is determined based on the difference between the global descriptors of different local maps.
7. The method according to claim 6, characterized in that Determining the global descriptor of the local map based on the angle formed by the normal vector of each fitting plane stored in the local map and the perpendicular line of the unit sphere includes: A distribution histogram of the angle in the local map is calculated, and the global descriptor is constructed using the distribution histogram.
8. The method according to claim 6, characterized in that The loop detection on the local map based on structural similarity and Euclidean distance includes: Search the historical local maps for a preset number of local maps with the smallest weighted sum of structural similarity and Euclidean distance to the current local map as loop candidates; The local map is selected from the loop candidates according to a preset standard and added to the pose graph for global optimization.
9. The method according to claim 8, characterized in that The selecting the local map from the loop candidates according to a preset standard and adding it to the pose graph for global optimization includes: Performing point cloud-map registration on the current point cloud frame and the local map as a loop closure candidate respectively; The historical map whose inlier ratio exceeds a preset threshold during the registration process is selected and added to the pose graph for global optimization.
10. A laser SLAM backend optimization device based on lightweight spherical map representation, characterized in that: include: A mapping module, configured to generate a local map represented by a spherical map from a local point cloud generated by a laser radar performing a SLAM task by spherical sampling, wherein the local point cloud is segmented into a plurality of point cloud blocks by spherical sampling points, and the local map stores the pose of the local point cloud and the structural features of the fitting plane of the point cloud block; a bidirectional registration module for performing point cloud-map registration on any point cloud frame of the local point cloud at the current moment and the local map at the previous moment, and on any point cloud frame of the local point cloud at the previous moment and the local map at the current moment, respectively, wherein the point cloud-map registration refers to adjusting the pose of the point cloud frame so as to minimize the sum of the distances between each point cloud point in the point cloud frame and the associated plane in the local map; The global optimization module is used to determine the structural similarity between the local maps based on the differences in the structural features of all the fitting planes contained in different local maps, perform loop detection on the local maps based on the structural similarity and Euclidean distance, and uniformly adjust the overall position of each local map that constitutes the loop.
Citation Information
Cited By
A multi-robot cooperative localization and mapping system and method
CN122486585A