An autonomous mapping method for intelligent robots in GNSS-denied environments

By switching to pure laser SLAM mapping mode in a GNSS-denied environment and adopting adaptive keyframe triggering and lightweight neural implicit scene representation, the positioning interruption and map drift problems caused by GNSS signal loss are solved, efficient and stable autonomous mapping is achieved, and the real-time performance and engineering deployment flexibility of the system are improved.

CN120558197BActive Publication Date: 2025-09-19NANJING UNIV OF POSTS & TELECOMM +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511058676.0
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-07-30
Publication Date
2025-09-19
Estimated Expiration
2045-07-30

AI Technical Summary

Technical Problem

When GNSS signals are lost or interfered with, intelligent robot positioning is interrupted, map generation is paused, or drift accumulates. Existing technologies make it difficult to achieve high-precision, low-drift autonomous mapping in complex environments. Furthermore, the computational and storage overhead is too high, making it difficult to deploy in real time on embedded platforms.

Method used

It adopts an adaptive keyframe triggering strategy and lightweight neural implicit scene representation, combined with multi-line lidar and neural network, to monitor GNSS signal quality in real time. When the signal is lost, it switches to pure laser SLAM mapping mode, generates high-precision maps through NDT registration and Fast-GICP loop detection, and reduces computing and storage overhead.

Benefits of technology

It achieves continuous positioning and efficient mapping in GNSS-denied environments, improves the real-time and robustness of the system, reduces computing and storage resource consumption, generates highly consistent three-dimensional point clouds and two-dimensional raster maps, and supports autonomous navigation.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120558197B_ABST
    Figure CN120558197B_ABST
Patent Text Reader

Abstract

The present invention belongs to the field of intelligent robot navigation and positioning technology, and discloses a method for autonomous mapping of an intelligent robot in a GNSS-denied environment, comprising the following steps: real-time monitoring of GNSS signal status, switching to pure laser SLAM mapping when the number of available satellites, PDOP, or pseudorange residual exceeds a threshold; collecting three-dimensional point cloud data and filtering and denoising it, performing lidar mapping and positioning alignment after obtaining the filtered and denoised current frame point cloud, selecting keyframe point clouds, constructing a lightweight neural implicit scene representation, and training an MLP network; performing loop detection and constructing a sparse factor graph, correcting the keyframe poses, and applying it to the original three-dimensional point cloud data to generate a two-dimensional grid map. This application continuously generates high-precision, low-drift environmental maps when the GNSS signal is blocked or fails, significantly improving the real-time and robustness of autonomous mapping.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention belongs to the technical field of intelligent robot navigation and positioning, and more particularly relates to an autonomous mapping method for an intelligent robot in a GNSS-denied environment. Background Art

[0002] As indoor and outdoor applications such as service, warehousing, and inspection continue to improve the autonomous mapping and positioning capabilities of intelligent robots in unknown environments, reliable navigation of robots in high-rise canyons, underground passages, and electromagnetic interference environments has become particularly critical.

[0003] Chinese patent application ZL2021115037935 proposes a SLAM positioning method that integrates monocular vision and GNSS. By combining visual odometry with periodic GNSS correction, it can effectively suppress visual drift and extend tracking continuity in open environments. However, this method lacks a smooth automatic switching and reconfiguration strategy when the GNSS signal is lost or interfered with. Once satellite observations are unavailable, it is difficult for the system to continue to maintain fusion filtering, resulting in interruption of robot positioning, suspension of map generation, and even accumulated drift. In addition, it relies on monocular images to extract environmental features and does not have the ability to directly obtain three-dimensional geometric information. Tracking failure is prone to occur under low-texture or low-light conditions. The overall mapping efficiency and robustness are still difficult to meet the requirements of real-time operation and long-term deployment of embedded platforms.

[0004] In recent years, researchers have begun introducing neural implicit scene representation technology to overcome the limitations of traditional explicit grids and sparse feature point maps. NICE-SLAM is a neural implicit SLAM method that deeply integrates NeRF (Neural Radiance Field) with laser SLAM, using a multi-layer perceptron (MLP) to predict volume density at keyframe sampling points. However, the implicit representation network structure used in NICE-SLAM is large, and training and inference computational costs are high, making it difficult to implement real-time deployment on resource-constrained embedded computing platforms. Furthermore, the traditional keyframe selection mechanism it relies on is often based on fixed thresholds or frequent global resets, resulting in keyframe redundancy and a significant increase in computational overhead, further restricting the system's real-time performance and engineering feasibility. Summary of the Invention

[0005] In order to solve the problems of robot positioning interruption, map drift and low mapping efficiency when GNSS signals are lost or interfered with in the existing technology, the present application provides an intelligent robot autonomous mapping method in a GNSS-denied environment. This method can not only continuously generate high-precision, low-drift environmental maps in complex and restricted environments, but also significantly reduce the computing and storage overhead through key frame screening and the compact design of the MLP network, thereby improving the real-time and robustness of the system.

[0006] In order to achieve the above objectives, this application is implemented through the following technical solutions:

[0007] This application is a method for autonomous mapping by an intelligent robot in a GNSS-denied environment. The method specifically includes the following steps:

[0008] Step 1: The navigation satellite monitoring station monitors the GNSS signal status in real time. When the navigation satellite monitoring station detects that the number of visible satellites exceeds the satellite number threshold, the position precision factor exceeds the factor threshold, or the pseudorange residual exceeds the residual threshold, it issues a GNSS rejection message to the receiving node in the Robot Operating System 2 (ROS2) that receives the GNSS rejection message through the interrupt mechanism, cuts off the GNSS-based positioning process, and enters the pure laser SLAM mapping mode.

[0009] Step 2: After receiving the GNSS rejection message, the receiving node of the GNSS rejection message activates the environment perception, i.e., starts the multi-line lidar to collect the 3D point cloud data of the surrounding environment and filters and denoises the collected 3D point cloud data to obtain the filtered and denoised point cloud of the current frame;

[0010] Step 3: Perform lidar mapping and localization (NDT) registration on the filtered and denoised current frame point cloud obtained in step 2, estimate the pose of consecutive frames, and select keyframe point clouds using an adaptive keyframe triggering strategy;

[0011] Step 4: Construct a lightweight neural implicit scene representation for the key frame point cloud selected in step 3 and train the MLP network;

[0012] Step 5: Perform loop detection between keyframe point clouds based on the Fast-GICP algorithm and construct a sparse factor graph, and apply nonlinear least squares optimization to correct the keyframe pose;

[0013] Step 6: Apply the key frame pose optimized and corrected in step 5 to the original 3D point cloud data and generate a 2D grid map.

[0014] A further improvement of the present application is that: Step 1 specifically includes the following steps:

[0015] Step 1.1: When ROS2 starts, it initializes the GNSS receiver and obtains three key parameters: the number of currently visible satellites, the position precision value, and the pseudorange residual at a fixed period.

[0016] Step 1.2: Compare the current number of visible satellites with the satellite number threshold, the position precision dilution value with the factor threshold, and the pseudorange residual with the residual threshold. If the number of visible satellites is less than the satellite number threshold, the position precision dilution value is greater than the factor threshold, or the pseudorange residual is greater than the residual threshold, the current environment is determined to be a GNSS-denied environment.

[0017] Step 1.3: At the moment of judgment, ROS2 publishes a message that the GNSS signal is unavailable, and then puts the GNSS positioning node of ROS2 into an inactive state or a shutdown state, and at the same time puts the laser SLAM mapping node of ROS2 into an active state, realizing seamless switching between the GNSS positioning node and the laser SLAM mapping node. If the number of visible satellites, the position precision factor value, and the pseudorange residual value are detected to be restored to within the satellite number threshold, the factor threshold, and the residual threshold for n consecutive times, ROS2 publishes a message that the GNSS signal is available, and puts the GNSS positioning node back into an active state through the lifecycle management interface, and puts the laser SLAM node into an inactive state.

[0018] A further improvement of the present application is that step 2 specifically includes the following steps:

[0019] Step 2.1: After the receiving node receives the GNSS rejection message, ROS2 starts environmental perception, the laser SLAM mapping node establishes a connection with the multi-line laser radar, and continuously obtains 3D point cloud data within a 360° range;

[0020] Step 2.2: After receiving the 3D point cloud data, the laser SLAM mapping node downsamples the 3D point cloud data to reduce the number of points and generates a downsampled point cloud.

[0021] Step 2.3: Execute the Statistical Outlier Removal algorithm. Set the neighborhood radius and the minimum number of neighborhood points. If the number of neighboring points within the neighborhood radius of each point in the downsampled point cloud generated in step 2.2 is less than the outlier threshold, the point cloud is removed to remove outlier noise and obtain the filtered and denoised point cloud of the current frame.

[0022] Step 2.4: Convert the filtered and denoised point cloud of the current frame to the ROS2 base coordinate system, and publish the filtered and denoised point cloud of the current frame in the form of a ROS2 point cloud message.

[0023] A further improvement of the present application is that in step 3, the laser radar mapping and positioning (NDT) registration is performed on the filtered and denoised point cloud of the current frame, specifically including the following steps:

[0024] Step 3.1.1, ROS2 takes the filtered and denoised point cloud of the current frame obtained in step 2 and the previous frame point cloud Divide into equal sizes In the voxel grid (voxel), for the Individual quality, record The point set in the individual lattice is , calculate the The centroid of the point cloud within an individual grid and the covariance matrix within the voxel :

[0025]

[0026]

[0027] in, is the point cloud of the current frame after filtering and denoising No. The three-dimensional coordinates of the point cloud, The first point cloud of the previous frame The three-dimensional coordinates of the point cloud, is the 3D coordinate of the point cloud in each voxel, is the transpose, is the number of points in the voxel grid;

[0028] Step 3.1.2: filter and denoise the current frame point cloud Mapping to the previous frame point cloud In the ROS2 coordinate system, the optimal registration is solved by maximum likelihood estimation, and the filtered and denoised point cloud of the current frame is output. and the previous frame point cloud The inter-frame pose increment between :

[0029]

[0030] Among them, , is the point cloud of the current frame after filtering and denoising The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of is the rotation matrix, is the translation vector, Represents three-dimensional coordinates The voxel grid index where for The mean of is the covariance matrix within the voxel The inverse of this iterative optimization process is the lidar mapping and localization (NDT) registration.

[0031] A further improvement of the present application is that in step 3, the adaptive keyframe triggering strategy selects the keyframe point cloud, which specifically includes the following steps:

[0032] Step 3.2.1: Increment the pose between frames Based on this, calculate the current frame point cloud after filtering and denoising Linear speed and angular velocity , and then calculate the current frame point cloud after filtering and denoising and the previous frame point cloud Overlap rate indicator :

[0033]

[0034] in, is the point cloud of the current frame after filtering and denoising and the previous frame point cloud The public points of is the point cloud of the current frame after filtering and denoising The translation vector of Point cloud of the previous frame The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of Point cloud of the previous frame The rotation matrix of is the point cloud of the current frame after filtering and denoising and the previous frame point cloud time interval, is the trace of the rotation matrix;

[0035] Step 3.2.2: Based on Linear Velocity , angular velocity Overlap ratio indicator with step 3.2.1 Dynamically update translation threshold and rotation threshold:

[0036]

[0037]

[0038] in, is the initial translation, is the initial rotation matrix; Overlap rate indicator Translation threshold The gain, Overlap rate indicator Gain for the rotation threshold, Linear speed Attenuation of the translation threshold, is the angular velocity Attenuation of the rotation threshold, is the translation threshold, is the rotation threshold, translation threshold and rotation threshold are used to evaluate whether it is necessary to mark the keyframe point cloud;

[0039] Step 3.2.3: If one of the following two conditions is met, the filtered and denoised point cloud of the current frame is marked as a keyframe point cloud:

[0040] Case 1:

[0041] Case 2:

[0042] in, is the keyframe rotation matrix before the keyframe, is the keyframe translation vector before the keyframe, is the point cloud of the current frame after filtering and denoising The translation vector of For replacement, is the keyframe pose before the keyframe.

[0043] A further improvement of the present application is that step 4 specifically includes the following steps:

[0044] Step 4.1, ROS2 from the saved In the key frame point cloud, randomly extract the key frame point cloud of each frame 3D sampling points And the global pose of the corresponding keyframe point cloud As training samples, For the The three-dimensional coordinates of the sampling points, For the The rotation matrix of the keyframe point cloud, For the The translation vector of the keyframe point cloud;

[0045] Step 4.2: Build a Multilayer Perceptron Network (MLP) , omitting the global pose of the keyframe point cloud explicitly passed in , that is, instead of treating the pose as an extra dimension and concatenating it with the coordinates before inputting it into the deep multilayer perceptron network, Layers are fused using only coordinate transformations:

[0046]

[0047]

[0048] in, For lightweight sine-cosine coordinate encoding, It is the input to the multi-layer perceptron network. The three-dimensional coordinates before the layer are mapped to the three-dimensional coordinates of the sampling point dimensional feature space:

[0049]

[0050] in, is a set of pre-set frequency hyperparameters used to encode 3D coordinates at different scales, Represents the three components of the sampling point, Indicates that the sine and cosine encoding operation is performed on each component of the three-dimensional sampling point;

[0051] Step 4.3, the multi-layer perceptron network is updated in sequence according to the formula layer, where :

[0052]

[0053]

[0054] in, Choose a lightweight activation function, are network parameters, For the The weights of the layers, For the The bias of the layer, is the projection vector of the last layer, is the bias of the last layer, Indicates the Hidden 3D coordinates of the layer;

[0055] make For the Sampling points The obtained observation density defines the mean square error loss:

[0056]

[0057] and iteratively update

[0058] in is the learning rate, Represents the mean square error loss About network parameters The gradient of the multilayer perceptron network is used to update the three components of any sampling point after the gradient descent training converges. predict volume density.

[0059] The beneficial effects of this application are: the application monitors the GNSS signal quality in real time and automatically switches to pure laser SLAM mapping mode when it detects that the number of satellites, PDOP or pseudorange residual exceeds the limit, ensuring continuous positioning in GNSS-denied environments;

[0060] This application adopts an adaptive keyframe triggering strategy, which dynamically determines the timing of keyframe insertion based on the translation and rotation changes between frames. Compared with the traditional keyframe selection scheme with fixed intervals or fixed distances, it can not only maintain sufficient environmental coverage, but also significantly reduce the computational overhead of redundant frames, thereby improving the real-time performance of front-end matching and back-end optimization.

[0061] This application introduces a lightweight neural implicit scene representation, using a compact multi-layer perceptron (MLP) to model the volume density of the 3D environment. In a joint optimization process, network parameters and keyframe poses are simultaneously corrected. This not only fills in undersampled areas and enhances map details, but also significantly reduces storage and computing resource consumption compared to traditional dense voxel or grid methods, improving deployment efficiency on embedded platforms.

[0062] This application integrates Fast-GICP loop detection and sparse factor graph optimization, combines dynamic keyframes and implicit priors, effectively eliminates drift accumulation, generates highly consistent global poses and dense three-dimensional point clouds, and outputs high-precision two-dimensional occupancy grid maps, providing a reliable map foundation for autonomous navigation.

[0063] In summary, this application can achieve efficient, stable and resource-friendly intelligent robot autonomous mapping in a GNSS-denied environment, significantly improving the system's real-time performance, robustness and engineering deployment flexibility. BRIEF DESCRIPTION OF THE DRAWINGS

[0064] Figure 1 It is a flowchart of this application.

[0065] Figure 2 This is a simulated indoor corridor scene diagram of an embodiment of the present application.

[0066] Figure 3 This is a schematic diagram after the simulation mapping of the embodiment of the present application is completed.

[0067] Figure 4 This is a top view of the corridor construction plan of the embodiment of the present application.

[0068] Figure 5 It is a side view of the construction map of the corridor in the embodiment of the present application. DETAILED DESCRIPTION

[0069] The following diagrams illustrate embodiments of the present application. For clarity, many practical details will be included in the following description. However, it should be understood that these practical details are not intended to limit the present application. In other words, in some embodiments of the present application, these practical details are not essential. Furthermore, to simplify the drawings, some conventional structures and components are depicted in the drawings in a simplified schematic manner.

[0070] like Figure 1 As shown, this application is a method for autonomous mapping by an intelligent robot in a GNSS-denied environment, which specifically includes the following steps:

[0071] Step 1: The navigation satellite monitoring station monitors the GNSS signal status in real time. When the navigation satellite monitoring station detects that the number of visible satellites exceeds the satellite number threshold, or the position precision dilution (PDOP) value exceeds the factor threshold, or the pseudorange residual exceeds the residual threshold, it issues a GNSS rejection message to the receiving node in the Robot Operating System 2 (ROS2) that receives the GNSS rejection message through the interrupt mechanism, cuts off the GNSS-based positioning process, and enters the pure laser SLAM mapping mode. The specific steps include the following:

[0072] Step 1.1: When ROS2 starts, it initializes the GNSS receiver and obtains three key parameters: the number of currently visible satellites, the position precision value, and the pseudorange residual at a fixed period. The fixed period is initially 500ms.

[0073] Step 1.2: Compare the current number of visible satellites with the satellite number threshold, the position DOP value with the factor threshold, and the pseudorange residual with the residual threshold. If the number of visible satellites is less than the satellite number threshold, the position DOP value is greater than the factor threshold, or the pseudorange residual is greater than the residual threshold, the current environment is determined to be a GNSS-denied environment. The default values ​​set in this application are: the visible satellite number threshold is 4, the PDOP threshold is 6.0, and the pseudorange residual threshold is 0.5m, which can be modified through parameters.

[0074] Step 1.3: At the moment of judgment, ROS2 publishes a message that the GNSS signal is unavailable, and then puts the GNSS positioning node of ROS2 into an inactive state or a shutdown state through the lifecycle management interface (Lifecycle), and at the same time puts the laser SLAM mapping node of ROS2 into an active state, realizing seamless switching between the GNSS positioning node and the laser SLAM mapping node. If the number of visible satellites, the position precision factor value, and the pseudorange residual value are detected to be within the satellite number threshold, factor threshold, and residual threshold for n ≥ 5 consecutive times, ROS2 publishes a message that the GNSS signal is available, and puts the GNSS positioning node back into an active state through the lifecycle management interface, and puts the laser SLAM node into an inactive state.

[0075] Step 2: After receiving the GNSS rejection message, ROS2 activates environmental perception, i.e., starts the multi-line lidar to collect 3D point cloud data of the surrounding environment and filters and denoises the collected 3D point cloud data to obtain the filtered and denoised point cloud of the current frame. This includes the following steps:

[0076] Step 2.1: After the receiving node receives the GNSS rejection message, ROS2 starts environmental perception. The laser SLAM mapping node establishes a connection with the Raytheon C16 multi-line mechanical multi-line laser radar through the Ethernet interface and continuously acquires 3D point cloud data within a 360° range at a scanning frequency of 20Hz.

[0077] Step 2.2: After receiving the 3D point cloud data, the laser SLAM mapping node performs the following operations in sequence. First, it calls the voxel filtering algorithm (VoxelGrid) to downsample the 3D point cloud data to a 0.2 m voxel size to reduce the number of points and generate a downsampled point cloud.

[0078] Step 2.3: Execute the Statistical Outlier Removal algorithm, setting the neighborhood radius to 0.5 m and the minimum number of neighborhood points to 5. If the number of neighboring points within the neighborhood radius of each point in the downsampled point cloud generated in step 2.2 is less than the outlier threshold, the point cloud is removed to remove outlier noise and obtain the filtered and denoised point cloud of the current frame.

[0079] Step 2.4: Convert the filtered and denoised point cloud of the current frame to the ROS2 base coordinate system and publish the filtered and denoised point cloud of the current frame as a ROS2 point cloud message for subsequent subscription by nodes used for point cloud registration.

[0080] Step 3: Perform lidar mapping and localization (NDT) registration on the filtered and denoised current frame point cloud obtained in step 2, estimate the pose of consecutive frames, and select keyframe point clouds using an adaptive keyframe triggering strategy. This includes the following steps:

[0081] Step 3.1, ROS2 obtains the filtered and denoised point cloud of the current frame and the previous frame point cloud Divide into equal sizes In the voxel grid (voxel), for the Individual quality, record The point set in the individual lattice is , calculate the The centroid of the point cloud within an individual grid and the covariance matrix within the voxel :

[0082]

[0083]

[0084] in, is the point cloud of the current frame after filtering and denoising No. The three-dimensional coordinates of the point cloud, The first point cloud of the previous frame The three-dimensional coordinates of the point cloud, is the 3D coordinate of the point cloud in each voxel, is the transpose, is the number of points in the voxel grid;

[0085] Step 3.2: filter and denoise the current frame point cloud Mapping to the previous frame point cloud In the ROS2 coordinate system, the optimal registration is solved by maximum likelihood estimation, and the filtered and denoised point cloud of the current frame is output. and the previous frame point cloud The inter-frame pose increment between :

[0086]

[0087] in, , is the point cloud of the current frame after filtering and denoising The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of is the rotation matrix, is the translation vector, Represents three-dimensional coordinates The voxel grid index where for The mean of is the covariance matrix within the voxel The inverse of this iterative optimization process is the LiDAR Mapping and Localization (NDT) registration (Normal Distributions Transform).

[0088] Step 3.3: Increment the pose between frames Based on the fixed threshold strategy of traditional key frame selection, this paper introduces an adaptive key frame triggering strategy, firstly calculates the current frame point cloud after filtering and denoising. Linear speed and angular velocity , and then calculate the current frame point cloud after filtering and denoising and the previous frame point cloud Overlap rate indicator :

[0089]

[0090] in, is the point cloud of the current frame after filtering and denoising and the previous frame point cloud The public points of is the point cloud of the current frame after filtering and denoising The translation vector of Point cloud of the previous frame The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of Point cloud of the previous frame The rotation matrix of is the point cloud of the current frame after filtering and denoising and the previous frame point cloud time interval, is the trace of the rotation matrix;

[0091] Step 3.4: Based on Linear Speed , angular velocity Overlap ratio indicator with step 3.2.1 Dynamically update translation threshold and rotation threshold:

[0092]

[0093]

[0094] in, is the initial translation, is the initial rotation matrix; Overlap rate indicator Translation threshold The gain, Overlap rate indicator Gain for the rotation threshold, Linear speed Attenuation of the translation threshold, is the angular velocity Attenuation of the rotation threshold, is the translation threshold, is the rotation threshold, translation threshold and rotation threshold are used to evaluate whether it is necessary to mark the keyframe point cloud;

[0095] Step 3.5: If one of the following two conditions is met, the filtered and denoised current frame point cloud is marked as a key frame point cloud:

[0096] Case 1:

[0097] Case 2:

[0098] in, is the keyframe rotation matrix before the keyframe, is the keyframe translation vector before the keyframe, is the point cloud of the current frame after filtering and denoising The translation vector of For replacement, The keyframe pose preceding the keyframe. ROS2 saves the original point cloud and pose of the keyframe for subsequent neural implicit scene representation and global map optimization. Through this adaptive triggering method, this application can flexibly adjust the keyframe interval based on the robot's motion state and environmental compatibility, achieving a better balance between map accuracy and computational effort than traditional fixed threshold methods.

[0099] Step 4: Construct a lightweight neural implicit scene representation for the key frame point cloud selected in step 3 and train the MLP network; step 4 specifically includes the following steps:

[0100] Step 4.1, ROS2 from the saved In the key frame point cloud, randomly extract the key frame point cloud of each frame 3D sampling points And the global pose of the corresponding keyframe point cloud As training samples, For the The three-dimensional coordinates of the sampling points, For the The rotation matrix of the keyframe point cloud, For the The translation vector of the keyframe point cloud;

[0101] Step 4.2: Build a Multilayer Perceptron Network (MLP) , omitting the global pose of the keyframe point cloud explicitly passed in , that is, instead of treating the pose as an extra dimension and concatenating it with the coordinates before inputting it into the deep multilayer perceptron network, Layers are fused using only coordinate transformations:

[0102]

[0103]

[0104] in, is a lightweight sine-cosine positional encoding, It is the input to the multi-layer perceptron network. The three-dimensional coordinates before the layer are mapped to the three-dimensional coordinates of the sampling point dimensional feature space:

[0105]

[0106] in, is a set of pre-set frequency hyperparameters used to encode 3D coordinates at different scales, Represents the three components of the sampling point, Indicates that the sine and cosine encoding operation is performed on each component of the three-dimensional sampling point;

[0107] Step 4.3, the multi-layer perceptron network is updated in sequence according to the formula layer, where :

[0108]

[0109]

[0110] in, Choose a lightweight activation function (such as Sine or ReLU), are network parameters, For the The weights of the layers, For the The bias of the layer, is the projection vector of the last layer, is the bias of the last layer, Indicates the Hidden 3D coordinates of the layer;

[0111] make For the Sampling points The mean square error loss is defined by the observation density obtained by voxel grid statistics or ray inversion:

[0112]

[0113] And iteratively update with gradient descent or Adam optimizer ,in is the learning rate, Represents the mean square error loss About network parameters The gradient of the multilayer perceptron network is used to update the three components of any sampling point after the gradient descent training converges. predict This enables implicit continuous modeling of the environment with extremely low computational overhead, providing a compact depth prior for subsequent graph optimization and path planning.

[0114] Step 5: Perform loop detection between keyframe point clouds based on the Fast-GICP algorithm and construct a sparse factor graph, and apply nonlinear least squares optimization to correct the keyframe pose. The specific steps include:

[0115] Step 5.1: After generating a new keyframe and its pose, the loop detection node compares the current keyframe with the historical keyframes saved for mapping to select possible loop candidate pairs within a candidate distance, such as within 10 m.

[0116] Step 5.2: Use the Fast-GICP (Generalized Iterative Closest Point) algorithm to align each loop candidate pair. Calculate the matching residual output by Fast-GICP and evaluate the registration quality. If the residual is lower than a threshold, such as 0.05 m, it is considered that the current keyframe and the historical keyframe have a loop constraint, and the relative pose constraint between them is recorded.

[0117] Step 5.3. Add all odometry constraints and the relative pose constraints in step 5.2 to the sparse factor graph.

[0118] Step 5.4: The backend optimization node calls the G2O library to solve the sparse factor graph using a nonlinear least squares approach. It then globally adjusts all keyframe poses based on the maximum a posteriori probability criterion to eliminate accumulated drift and outputs the optimized keyframe global pose.

[0119] Step 6. Apply the keyframe pose optimized and corrected in step 5 to the original 3D point cloud data and generate a 2D grid map. Specifically, first, stitch the original point clouds corresponding to all keyframes into an overall point cloud according to their calculated global positions; then project the overall point cloud onto the horizontal plane, and count the projected points according to the preset grid resolution - if there is a point cloud in a grid, it is marked as "occupied", if there is no point on the path from the grid to the sensor, it is marked as "idle", and the remaining grids remain "unknown"; finally, encapsulate the generated 2D grid data into the ROS2 standard nav_msgs / OccupancyGrid message and publish it to the / map topic through map_server. During this period, the navigation satellite monitoring station continues to monitor the GNSS status. When it is determined that the GNSS signal has been restored for multiple consecutive times, the pure laser SLAM mapping is stopped and the GNSS positioning mode is switched back to.

[0120] In a typical indoor corridor scenario, this application was deployed on an Ackerman chassis vehicle equipped with a C16 lidar to verify its practicality in a GNSS-denied environment. At the start of the test, the vehicle experienced GNSS signal loss at the corridor entrance, with the number of visible satellites dropping to two and a PDOP greater than 10. The system then automatically switched to laser-only SLAM mode. The lidar scanned at 20Hz and downsampled and denoised the point cloud in real time. Motion was then estimated through NDT registration, triggering adaptive keyframe selection. After selecting keyframes, the MLP network was trained on the fly to generate an implicit scene representation, completing sparse regions of the point cloud and enhancing map detail. Fast-GICP loop detection and factor graph optimization performed global correction upon loop detection, effectively eliminating drift. Finally, the vehicle completed three round trips along the indoor corridor, generating a 2D grid map with an error of less than 0.1m relative to the actual corridor layout, demonstrating good continuity and rich detail. These test results fully demonstrate the feasibility and robustness of this application in a GNSS-denied environment.

[0121] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various modifications and variations. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application should be included within the scope of the claims of the present application.

Claims

1. A method for autonomous mapping by an intelligent robot in a GNSS-denied environment, characterized by: The intelligent robot autonomous mapping method specifically includes the following steps: Step 1: The navigation satellite monitoring station monitors the GNSS signal status in real time. When the navigation satellite monitoring station detects that the number of visible satellites exceeds the satellite number threshold, the position precision factor exceeds the factor threshold, or the pseudorange residual exceeds the residual threshold, it issues a GNSS rejection message to the receiving node in the Robot Operating System 2 (ROS2) that receives the GNSS rejection message through the interrupt mechanism, cuts off the GNSS-based positioning process, and enters the pure laser SLAM mapping mode. Step 2: After receiving the GNSS rejection message, the receiving node of the GNSS rejection message activates the environment perception, i.e., starts the multi-line lidar to collect the 3D point cloud data of the surrounding environment and filters and denoises the collected 3D point cloud data to obtain the filtered and denoised point cloud of the current frame; Step 3: Perform lidar mapping and positioning registration on the filtered and denoised current frame point cloud obtained in step 2, estimate the continuous frame pose, and select the key frame point cloud using an adaptive key frame triggering strategy; Step 4: Construct a lightweight neural implicit scene representation for the key frame point cloud selected in step 3 and train the MLP network; Step 5: Perform loop detection between keyframe point clouds and construct a sparse factor graph, and apply nonlinear least squares optimization to correct the keyframe poses; Step 6: Apply the keyframe pose optimized and corrected in step 5 to the original 3D point cloud data and generate a 2D grid map, where: In step 3, the laser radar mapping and positioning registration are performed on the filtered and denoised point cloud of the current frame, which specifically includes the following steps: Step 3.1.1, ROS2 takes the filtered and denoised point cloud of the current frame obtained in step 2 and the previous frame point cloud Divide into equal sizes In the voxel grid, for the Individual quality, record The point set in the individual lattice is , calculate the The centroid of the point cloud within an individual grid and the covariance matrix within the voxel : , , in, is the point cloud of the current frame after filtering and denoising No. The three-dimensional coordinates of the point cloud, The first point cloud of the previous frame The three-dimensional coordinates of the point cloud, is the 3D coordinate of the point cloud in each voxel, is the transpose, is the number of points in the voxel grid; Step 3.1.2: filter and denoise the current frame point cloud Mapping to the previous frame point cloud In the ROS2 coordinate system, the optimal registration is solved by maximum likelihood estimation, and the filtered and denoised point cloud of the current frame is output. and the previous frame point cloud The inter-frame pose increment between : , Among them, , is the point cloud of the current frame after filtering and denoising The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of is the rotation matrix, is the translation vector, Represents three-dimensional coordinates The voxel grid index where for The mean of is the covariance matrix within the voxel The inverse process is LiDAR mapping and positioning registration; In step 3, the adaptive keyframe triggering strategy selects the keyframe point cloud, which specifically includes the following steps: Step 3.2.1: Increment the pose between frames Based on this, calculate the current frame point cloud after filtering and denoising Linear speed and angular velocity , and then calculate the current frame point cloud after filtering and denoising and the previous frame point cloud Overlap rate indicator : , in, is the point cloud of the current frame after filtering and denoising and the previous frame point cloud The public points of is the point cloud of the current frame after filtering and denoising The translation vector of Point cloud of the previous frame The translation vector of is the point cloud of the current frame after filtering and denoising The rotation matrix of Point cloud of the previous frame The rotation matrix of is the point cloud of the current frame after filtering and denoising and the previous frame point cloud time interval, is the trace of the rotation matrix; Step 3.2.2: Based on Linear Velocity , angular velocity Overlap ratio indicator with step 3.2.1 Dynamically update translation threshold and rotation threshold: , , in, is the initial translation, is the initial rotation matrix; Overlap rate indicator Translation threshold The gain, Overlap rate indicator Gain for the rotation threshold, Linear speed Attenuation of the translation threshold, is the angular velocity Attenuation of the rotation threshold, is the translation threshold, is the rotation threshold, translation threshold and rotation threshold are used to evaluate whether it is necessary to mark the keyframe point cloud; Step 3.2.3: If one of the following two conditions is met, the filtered and denoised point cloud of the current frame is marked as a keyframe point cloud: Case 1: , Case 2: , in, is the keyframe rotation matrix before the keyframe, is the keyframe translation vector before the keyframe, is the point cloud of the current frame after filtering and denoising The translation vector of For replacement, is the key frame pose before the key frame; the step 4 specifically includes the following steps: Step 4.1, ROS2 from the saved In the key frame point cloud, randomly extract the key frame point cloud of each frame 3D sampling points And the global pose of the corresponding keyframe point cloud As training samples, For the The three-dimensional coordinates of the sampling points, For the The rotation matrix of the keyframe point cloud, For the The translation vector of the keyframe point cloud; Step 4.2: Build a Multilayer Perceptron Network , omitting the global pose of the keyframe point cloud explicitly passed in , that is, instead of treating the pose as an extra dimension and concatenating it with the coordinates before inputting it into the deep multilayer perceptron network, Layers are fused using only coordinate transformations: , , in, For lightweight sine-cosine coordinate encoding, It is the input to the multi-layer perceptron network. The three-dimensional coordinates before the layer are mapped to the three-dimensional coordinates of the sampling point dimensional feature space: , in, is a set of pre-set frequency hyperparameters used to encode 3D coordinates at different scales, Represents the three components of the sampling point, Indicates that the sine and cosine encoding operation is performed on each component of the three-dimensional sampling point; Step 4.3, the multi-layer perceptron network is updated in sequence according to the formula layer, where : , , in, Choose a lightweight activation function, are network parameters, For the The weights of the layers, For the The bias of the layer, is the projection vector of the last layer, is the bias of the last layer, Indicates the Hidden 3D coordinates of the layer; make For the Sampling points The obtained observation density defines the mean square error loss: , and iteratively update , in is the learning rate, Represents the mean square error loss About network parameters The gradient of the multilayer perceptron network is used to update the three components of any sampling point after the gradient descent training converges. predict volume density.

2. The method for autonomous mapping by an intelligent robot in a GNSS-denied environment according to claim 1, characterized in that: The step 1 specifically includes the following steps: Step 1.1: When ROS2 starts, it initializes the GNSS receiver and obtains the current number of visible satellites, position precision value, and pseudorange residual at a fixed period. Step 1.2: Compare the current number of visible satellites with the satellite number threshold, the position precision dilution value with the factor threshold, and the pseudorange residual with the residual threshold. If the number of visible satellites is less than the satellite number threshold, the position precision dilution value is greater than the factor threshold, or the pseudorange residual is greater than the residual threshold, the current environment is determined to be a GNSS-denied environment. Step 1.3: At the moment of judgment, ROS2 publishes a message that the GNSS signal is unavailable, and then puts the GNSS positioning node of ROS2 into an inactive state or a shutdown state, and at the same time puts the laser SLAM mapping node of ROS2 into an active state, realizing seamless switching between the GNSS positioning node and the laser SLAM mapping node. If the number of visible satellites, the position precision factor value, and the pseudorange residual value are detected to be within the satellite number threshold, the factor threshold, and the residual threshold for n consecutive times, ROS2 publishes a message that the GNSS signal is available, and puts the GNSS positioning node back into an active state, and puts the laser SLAM node into an inactive state.

3. The method for autonomous mapping by an intelligent robot in a GNSS-denied environment according to claim 1, characterized in that: Step 2 specifically includes the following steps: Step 2.1: After the receiving node receives the GNSS rejection message, ROS2 starts environmental perception, the laser SLAM mapping node establishes a connection with the multi-line laser radar, and continuously obtains 3D point cloud data within a 360° range; Step 2.2: After receiving the 3D point cloud data, the laser SLAM mapping node downsamples the 3D point cloud data to reduce the number of points and generates a downsampled point cloud. Step 2.3: Execute the statistical outlier removal algorithm, set the neighborhood radius and the minimum number of neighborhood points, and if the number of neighboring points within the neighborhood radius of each point in the downsampled point cloud generated in step 2.2 is less than the outlier threshold, then the point cloud is removed to remove the outlier noise and obtain the filtered and denoised point cloud of the current frame; Step 2.4: Convert the filtered and denoised point cloud of the current frame to the ROS2 base coordinate system, and publish the filtered and denoised point cloud of the current frame in the form of a ROS2 point cloud message.

Citation Information

Patent Citations

  • Mobile robot navigation and positioning system based on GNSS / INS / LIDAR-SLAM information fusion

    CN112362051A

  • Positioning method and system based on GPS and laser SLAM

    CN117928509A