A Simultaneous Localization and Mapping System Using the Iterative Error State Kalman Filter Judgment Algorithm for Global Navigation Satellite System

Outdoor autonomous mobile robots heavily rely on GPS data for localization. However, GPS data can be erroneous and signals can be interrupted in highly urbanized areas or areas with incomplete satellite coverage, leading to localization deviations. In this paper, we propose a SLAM (Simultaneous Localization and Mapping) system that combines the IESKF (Iterated Extended Kalman Filter) and a factor graph to address these issues. We perform IESKF filtering on LiDAR and inertial measurement unit (IMU) data at the front-end to achieve a more accurate estimation of local pose and incorporate the resulting laser inertial odometry into the back-end factor graph. Furthermore, we introduce a GPS signal filtering method based on GPS state and confidence to ensure that abnormal GPS data is not used in the back-end processing. In the back-end factor graph, we incorporate loop closure factors, IMU preintegration factors, and processed GPS factors. We conducted comparative experiments using the publicly available KITTI dataset and our own experimental platform to compare the proposed SLAM system with two commonly used SLAM systems: the filter-based SLAM system (FAST-LIO) and the graph optimization-based SLAM system (LIO-SAM). The experimental results demonstrate that the proposed SLAM system outperforms the other systems in terms of localization accuracy, especially in cases of GPS signal interruption.


Introduction
With the continuous development of outdoor mobile robots, research focuses mainly on two directions: autonomous mobile robots and teleoperated mobile robots [1]. In the field of autonomous mobile robots, relying on a single sensor is no longer sufficient to meet the accuracy and robustness requirements of localization and mapping systems. The integration of multiple sensors and the fusion of their data are core technologies for achieving high-precision positioning and navigation in autonomous robots [2]. Among the sensors commonly used in outdoor scenarios, the GPS global navigation satellite system (GPS GNSS) and GNSS/INS (Inertial Navigation System) are widely utilized. Generally, GPS can provide centimeter-level positioning. However, due to the presence of urban high-rise buildings obstructing the surrounding area, GPS signals often result in inaccurate positioning [3]. Consequently, the upper computer may provide code differences or singlepoint positioning instead of fixed solutions. Therefore, it is common practice to either resort to teleoperation for remote control [4] or incorporate various types of sensors such as IMU, LiDAR, and cameras to assist with positioning. and IMU data based on graph optimization. This method assumed that the mobile robot moved at a low, uniform speed and used gravity to solve horizontal attitude, neglecting modeling of IMU deviation errors. LOAM [22], proposed by Zhang and Singh, extracted edge and planar features from LiDAR point clouds to reduce computational effort required for matching. The framework used a high-frequency LiDAR odometry for positional estimation at the front end and low-frequency map optimization at the back end for map-building. This resulted in a low-computation, low-drift, and real-time SLAM system. LOAM consistently performed well in the KITTI [23] dataset. Subsequently, several variants and updated versions of LOAM were proposed, including LeGO-LOAM [24], R-LOAM [25], and F-LOAM [26]. These SLAM algorithms primarily focused on improving the processing time of the LOAM algorithm. For in-vehicle navigation systems, the integration of LiDAR SLAM with GNSS/INS plays a crucial role in achieving system redundancy and robustness. Shan's proposed LIO-SAM [27] utilized point cloud feature extraction with key frames at the front end to reduce computational effort. It also incorporated IMU pre-integration factor, GPS factor, and laser odometry factor into the back-end factor map optimization to construct P 3 -LOAM [28]. The system combines LiDAR-SLAM with GNSS precise point positioning and estimates the covariance of laser SLAM based on the error propagation model of the SVD Jacobi matrix. Additionally, it relies on laser SLAM when the GNSS observations contain significant errors, eliminating PPP outliers and achieving high-accuracy positioning in urban canyon environments.
In summary, filter-based methods primarily rely on the first-order Markov assumption, where the current state depends only on the previous state. While this reduces computational complexity, it also leads to accumulated drift errors. On the other hand, graph optimization-based methods store the states of all previous time steps using keyframes and continuously correct accumulated errors with subsequent observations. However, the drawback is that it requires more computational resources and memory usage.
To address these challenges, this paper proposes a SLAM system that combines filtering and graph optimization, aiming to improve localization speed while maintaining accuracy. The main contributions of this work are as follows:

1.
We employ the IESKF algorithm to achieve tight coupling of laser rangefinder and IMU data, enabling robust pose estimation. This approach effectively integrates sensor data to improve the accuracy and stability of frontend pose estimation.

2.
We introduce a method for filtering out anomalous GPS data based on GPS state variables and confidence. This method effectively reduces the interference and errors caused by GPS data, thereby enhancing the localization performance of the SLAM system under GPS interruption. 3.
We utilize factor graph optimization to fuse the frontend-generated odometry, IMU, GPS, and loop closure detection modules. By constructing a factor graph, the system can leverage the information from each module during the optimization process, improving the overall localization accuracy and consistency of the SLAM system. 4.
The proposed SLAM framework's localization accuracy improvements are tested and evaluated using GPS uninterrupted/interrupted tests on the KITTI dataset and our own experimental platform.

SLAM System
The framework for the GPS, IMU, and LiDAR localization and mapping system presented in this paper is illustrated in Figure 1. The system comprises several modules, including data preprocessing, front-end IESKF odometry, back-end factor graph global pose optimization, GPS data filtering, and loop closure detection. The front-end utilizes a tightly coupled laser inertial odometry based on IESKF, while the back-end employs a factor graph (shown in Figure 2) to fuse the front-end LIO factors, IMU predicted measurement factors, and GPS factors.
presented in this paper is illustrated in Figure 1. The system comprises several modules, including data preprocessing, front-end IESKF odometry, back-end factor graph global pose optimization, GPS data filtering, and loop closure detection. The front-end utilizes a tightly coupled laser inertial odometry based on IESKF, while the back-end employs a factor graph (shown in Figure 2) to fuse the front-end LIO factors, IMU predicted measurement factors, and GPS factors.  Factor Graph Optimization is a graph model used for probabilistic inference and parameter estimation problems. It employs a graph structure composed of nodes and edges to represent the dependencies and constraints between variables. In this model, nodes represent the variables to be optimized, while edges represent the constraints. By constructing such a graph, we can gain a better understanding of the problem's structure and utilize optimization algorithms to find the optimal variable configuration. Factor Graph Optimization provides a flexible and effective approach for addressing complex inference and estimation problems.
The process of Factor Graph Optimization involves iteratively minimizing an objective function that measures the difference between the predicted state vector and the ac-

Feature Extraction
Plane Points   pose optimization, GPS data filtering, and loop closure detection. The front-end utilizes a tightly coupled laser inertial odometry based on IESKF, while the back-end employs a factor graph (shown in Figure 2) to fuse the front-end LIO factors, IMU predicted measurement factors, and GPS factors.  Factor Graph Optimization is a graph model used for probabilistic inference and parameter estimation problems. It employs a graph structure composed of nodes and edges to represent the dependencies and constraints between variables. In this model, nodes represent the variables to be optimized, while edges represent the constraints. By constructing such a graph, we can gain a better understanding of the problem's structure and utilize optimization algorithms to find the optimal variable configuration. Factor Graph Optimization provides a flexible and effective approach for addressing complex inference and estimation problems.

IESKF Laser Inertial Odometer
The process of Factor Graph Optimization involves iteratively minimizing an objective function that measures the difference between the predicted state vector and the ac-   Factor Graph Optimization is a graph model used for probabilistic inference and parameter estimation problems. It employs a graph structure composed of nodes and edges to represent the dependencies and constraints between variables. In this model, nodes represent the variables to be optimized, while edges represent the constraints. By constructing such a graph, we can gain a better understanding of the problem's structure and utilize optimization algorithms to find the optimal variable configuration. Factor Graph Optimization provides a flexible and effective approach for addressing complex inference and estimation problems.

IESKF Laser Inertial Odometer
The process of Factor Graph Optimization involves iteratively minimizing an objective function that measures the difference between the predicted state vector and the actual state vector. In this paper, we employ Incremental Smoothing and Mapping (iSAM2) [29] using Bayesian tree mapping for the factor graph optimization process. The objective of this process is to obtain the posterior pose distribution of the robot, given the known sensor measurement noise, and further model it by iteratively decomposing a set of factors φ(X). The objective function is described by Equation (1): where X is the vector to be estimated, and f (X) is the cost function.
Equation (1) can be equivalently expressed as a least squares form, as shown in Equation (2): arg min where h(X) is the observation equation, z is the observed value, and D is the covariance matrix of the observed value. The modeling of the robot state vector x consists of the rotation matrix R ∈ SO(3), position p ∈ R 3 , velocity v, and IMU bias b. A transformation T ∈ SE(3) from the robot base O to the world frame W is represented as T=[R | p].

IESKF LiDAR Inertial Odometry Factor
In this paper, we employ an IESKF in the front-end to achieve tight coupling of sensor data from laser odometry and IMU, aiming to achieve higher algorithm accuracy than LIO-SAM when GPS is interrupted. Compared to traditional Kalman filter methods, this approach offers three main advantages [30]. Firstly, it reduces computational complexity by ignoring second-order products, resulting in a smaller error state. Secondly, it addresses parameterization and gimbal lock problems by keeping the orientation error state small. Thirdly, the slow change in the error state allows for error correction at a lower rate than prediction. The IESKF filtering method used in this paper is based on the approaches presented in LINS and FAST-LIO, and the algorithm steps are outlined below: (1) Input the posterior state variables x k and covariance matrix P k output by the previous IESKF, the laser point cloud after motion compensation, and the IMU data collected during the current laser scan. (2) Predict the state variables and covariance matrix as shown in Equations (4) and (5). In Equation (4): ⊕ denotes the generalized addition; x i+1 and x k respectively represent the prior system state variables between the laser frames k-th and k + 1-th when receiving IMU data at times i and i + 1; T = t i+1 − t i denotes the IMU sampling period; f ( x i , u i , ω i ) denotes the system state transition matrix; and u i and ω i represent the IMU measurement values and their measurement noise at time i. In Equation (5): P i+1 represents the predicted covariance matrix at time i + 1; F i represents the predicted state matrix at time i; B i represents the noise matrix; Q represents the noise covariance matrix; and P k represents the posterior covariance matrix of the laser k-th frame.
(3) Setting the initial value of the iteration count α to 1, the state quantity of the iteration is x α=0 k+1 = x k+1 . (4) Judge whether the absolute value of the difference between the state quantity obtained after one iteration and the previous iteration is less than the threshold ∂, represented by the symbol in Formula (6), where denotes generalized subtraction. If it is less than the threshold ∂, then repeat the following loop.
Sensors 2023, 23, 6000 6 of 18 (a) Calculate the Jacobian matrix J α k+1 of the error state vector at δx α k+1 = 0 point using Formula (7), where δx k+1 represents the error state vector of k + 1-th frame. Use Formula (8) to update the prior covariance matrix P k+1 during the iteration process.
Transform the laser point cloud into the world coordinate system, and calculate the residual equation f (x k k+1 ) and covariance matrix H k+1 of the observation using Formulas (9) and (10), respectively. Here, X L e (k+1,i) and X L s (k+1,i) represent the coordinate sets of feature points after motion compensation for corner points L e and plane points L s , respectively, between k-th frame and k + 1-th frame. The covariance matrix H k+1 is represented using the formula from LINS, R k k+1 represents the pose transformation of the laser between k-th frame and k + 1-th frame, and [•] × denotes the skew-symmetric matrix of the variable.
During factor graph optimization, there is redundant information between IMU data and laser point cloud data. Including IESKF odometry data of each frame in the back-end factor graph optimization only leads to a slight improvement in localization accuracy but consumes a significant amount of computational resources, which ultimately affects the localization accuracy of the system. Therefore, we employ the keyframe and sliding window strategy in factor graph optimization to reduce the computational resources required in the back-end. Keyframes are selected based on representative laser-IMU odometry data over a specific period, helping to reduce the data volume. In the sliding window approach, only the keyframe data within the window is optimized, while the regular data frames are discarded.
In this paper, "ordinary frames" refers to laser frames observed by IESKF, while "keyframes" are determined based on position or attitude changes estimated by IESKF's laser inertial odometry exceeding 1 m or 5 • , respectively. Adjacent keyframes are utilized to construct local maps. Based on the current keyframe pose, i nearest keyframes are extracted to form the adjacent keyframe set {F i−k , · · · , F k }, and the poses corresponding to the adjacent keyframe set are transformed to the current keyframe F coordinate system. After the transformation, the adjacent keyframe point clouds are merged into one local map. As subsequent new keyframe point clouds are added to the local map, keyframe point clouds that are far away from the local map are removed. To obtain a more accurate pose transformation relationship between two keyframes, this paper adopts the ICP registration algorithm to match the current keyframe with the local map and derive the pose transformation relationship. The residual equation between the k-th and k+1-th laser radar keyframes can be obtained as shown in Equation (15):

GPS Factor
Due to significant fluctuations in GPS data in highly urbanized environments, this paper incorporates a GPS state and confidence filtering approach to screen the available GPS data and include them as GPS factors in the factor graph. This method aims to exclude anomalous GPS data from being included in the factor graph, thereby ensuring higher accuracy. Specifically, this paper only utilizes GPS data with fixed solutions and narrow lane fixed solutions.
In geometric positioning methods, the accuracy of localization is influenced by the relative distances between multiple base stations and mobile stations, which is commonly referred to as Dilution of Precision (DOP). To calculate the DOP factor, we introduce the GPS single-point positioning model, which is represented by the following equation: where (x u , y u , z u ) is the receiver coordinates, x j , y j , z j is the base station coordinates, t u and t j are the clock bias between the receiver and the base station, ρ j represents the pseudorange from the receiver to the base station, and j represents the number of visible base stations. Given the approximate values of receiver coordinates ( x u , y u , z u ), and clock error t u , we can linearize the positioning model by performing a first-order Taylor series expansion, as shown in Equation (17). Furthermore, we can represent Equation (17) in matrix form as Equation (18): where l j , m j , and n j represent the direction cosines of the unit vector pointing from the approximate position towards the j-th base station.
By applying the least squares method to solve Equation (18), we can derive quantitative expressions for the components of the symmetric matrix G, which represent the accuracy factors. These expressions are given by the following equation: g 11 g 12 g 13 g 14 g 12 g 22 g 23 g 24 g 13 g 23 g 33 g 34 g 14 g 24 g 34 g 44 We select the square root of the sum of squared errors in dimensions, precision, and elevation as the confidence criterion, which is commonly known as PDOP (Position Dilution of Precision). It can be calculated using the following equation: First, the inspection robot is moved to an open area to allow for movement, and multiple confidence values are recorded when the GPS state is a fixed solution. The maximum value among these recorded confidences is selected as the threshold for fixed solution confidence. Second, the steps mentioned above are repeated to obtain the confidence threshold for narrow lane fixed solutions. Finally, during the operation of the SLAM system, the corresponding confidence threshold is selected based on the GPS state. This threshold is then compared with the current confidence value, and GPS data with a confidence lower than the threshold are considered usable. Figure 3 illustrates the flowchart of the GPS state and confidence filtering strategy employed in this paper. First, the inspection robot is moved to an open area to allow for movement, and multiple confidence values are recorded when the GPS state is a fixed solution. The maximum value among these recorded confidences is selected as the threshold for fixed solution confidence. Second, the steps mentioned above are repeated to obtain the confidence threshold for narrow lane fixed solutions. Finally, during the operation of the SLAM system, the corresponding confidence threshold is selected based on the GPS state. This threshold is then compared with the current confidence value, and GPS data with a confidence lower than the threshold are considered usable. Figure 3 illustrates the flowchart of the GPS state and confidence filtering strategy employed in this paper. After filtering out unreliable data based on confidence, we utilize the remaining GPS data to calculate the coordinates in the W-frame for latitude, longitude, and altitude. These coordinates are then incorporated into the factor graph as a GPS position constraint cost function. The GPS position constraint cost function is represented by the following equation: T is the antenna lever arm for GNSS, g D is the variance-covariance matrix for w g T Figure 3. Flow chart of screening strategies based on GPS status and confidence.
After filtering out unreliable data based on confidence, we utilize the remaining GPS data to calculate the coordinates in the W-frame for latitude, longitude, and altitude. These coordinates are then incorporated into the factor graph as a GPS position constraint cost function. The GPS position constraint cost function is represented by the following equation: where R o t i is the pose of the IMU in the vehicle coordinate system at time t i , R w o is the transformation parameters between the vehicle coordinate system and the global coordinate Sensors 2023, 23, 6000 9 of 18 system W, T w g is the GNSS positioning result in the global coordinate system W, T b g is the antenna lever arm for GNSS, D g is the variance-covariance matrix for T w g provided by the GNSS RTK positioning solution, and G is the set of nodes with GNSS position correction.
We conducted tests in practical scenarios, specifically at the rear of the supporting service center building in the Intelligent Technology Park, where GPS data exhibited fluctuations. Figure 4 illustrates the GPS trajectories before and after applying our filtering approach. It can be observed that the GPS data exhibits significant fluctuations prior to filtering, whereas the fluctuations are reduced after the application of our filtering method.

Loop Detection Factor
Similar to LIO-SAM, this paper employs a keyframe-based Euclidean distance approach for loop closure detection. Firstly, the laser point cloud is transformed into the world coordinate system. Based on the position of the current keyframe, a search range of distance d is defined to identify historical keyframes that are in close proximity and have a longer detection time. The positions of the keyframes within the search range are further filtered based on a specified time interval. The local feature point cloud map is constructed by aggregating feature point clouds from a range of 25 frames centered around the identified historical keyframes. The current keyframe is then matched with the local feature point cloud map using ICP point cloud registration to determine the relative pose transformation relationship in the world coordinate system. For a more comprehensive explanation of the loop closure detection process, please refer to LIO-SAM.

IMU Pre-Integration
The angular velocity and acceleration measured from the IMU are defined as follows: R is the rotation matrix from the coordinate system W to B, and g is a fixed gravity vector in the W coordinate system. The robot motion was then inferred from the IMU measurements. The position, atti-

Loop Detection Factor
Similar to LIO-SAM, this paper employs a keyframe-based Euclidean distance approach for loop closure detection. Firstly, the laser point cloud is transformed into the world coordinate system. Based on the position of the current keyframe, a search range of distance d is defined to identify historical keyframes that are in close proximity and have a longer detection time. The positions of the keyframes within the search range are further filtered based on a specified time interval. The local feature point cloud map is constructed by aggregating feature point clouds from a range of 25 frames centered around the identified historical keyframes. The current keyframe is then matched with the local feature point cloud map using ICP point cloud registration to determine the relative pose transformation relationship in the world coordinate system. For a more comprehensive explanation of the loop closure detection process, please refer to LIO-SAM.

IMU Pre-Integration
The angular velocity and acceleration measured from the IMU are defined as follows: where ω t and a t are the measurements of the IMU at the moment t and the B coordinate systems, ω t and a t are subject to the slowly transformed bias b t and white noise n t , R BW t is the rotation matrix from the coordinate system W to B, and g is a fixed gravity vector in the W coordinate system.
The robot motion was then inferred from the IMU measurements. The position, attitude, and velocity of the robot during t + ∆t were calculated as follows: where are the rotation matrices of the coordinate systems B to W, and the angular velocity and acceleration of the base coordinates B are assumed to be constant during the integration process. Then, we use the IMU pre-integration method to obtain the relative motion of the carriers within adjacent timestamps, where the preintegrated measurements ∆v ij , ∆p ij , and ∆R ij between moments i and j are calculated by the following equations:

KITTI Dataset Testing and Evaluation
This paper presents an experimental study on the fusion of filtering and graph optimization SLAM algorithms using the KITTI datasets 05, 07, and 10. The trajectories and ATE statistical indicators generated are compared and analyzed with an open-source multi-sensor fusion SLAM algorithm using the EVO [31] trajectory evaluation tool. The filtering algorithm used in this experiment is FAST-LIO, while the graph optimization algorithm used is LIO-SAM. To evaluate the robustness of the algorithm when GPS is suddenly interrupted, GPS data is also interrupted. Since FAST-LIO does not incorporate GPS, its accuracy is not affected by GPS interruption. Therefore, its ATE statistical indicator is not presented in the GPS interruption experiment.

GPS Uninterrupted Experiment
To start, we performed the GPS non-interruption experiment and obtained trajectories for sequences 05, 07, and 10, as depicted in Figures 5-8

KITTI Dataset Testing and Evaluation
This paper presents an experimental study on the fusion of filtering and graph o timization SLAM algorithms using the KITTI datasets 05, 07, and 10. The trajectories a ATE statistical indicators generated are compared and analyzed with an open-sou multi-sensor fusion SLAM algorithm using the EVO [31] trajectory evaluation tool. T filtering algorithm used in this experiment is FAST-LIO, while the graph optimizati algorithm used is LIO-SAM. To evaluate the robustness of the algorithm when GPS suddenly interrupted, GPS data is also interrupted. Since FAST-LIO does not incorpor GPS, its accuracy is not affected by GPS interruption. Therefore, its ATE statistical in cator is not presented in the GPS interruption experiment.

GPS Uninterrupted Experiment
To start, we performed the GPS non-interruption experiment and obtained trajec ries for sequences 05, 07, and 10, as depicted in Figures 5-8, respectively. Our algorith exhibited superior trajectory results compared to the two open-source algorithms, w trajectories that closely aligned with the true values.   In Table 1, we present our algorithm alongside the ATE statistical data for FAST-L and LIO-SAM.    In Table 1, we present our algorithm alongside the ATE statistical data for FAST-L and LIO-SAM.    In Table 1, we present our algorithm alongside the ATE statistical data for FAST-L and LIO-SAM.  In Table 1, we present our algorithm alongside the ATE statistical data for FAST-LIO and LIO-SAM.
In terms of performance metrics on the 05 sequence, the algorithm proposed in this paper outperformed both LIO-SAM and FAST-LIO. Specifically, it achieved improvements of 21.57%, 44.75%, 43.19%, and 12.22% in maximum error, average error, root mean square error, and minimum error, respectively, when compared to LIO-SAM. Furthermore, compared to FAST-LIO, the proposed algorithm showed improvements of 74.09%, 79.64%, 63.68%, and 58.57% in the same metrics. On the 07 sequence, the algorithm presented in this paper did not perform as well as LIO-SAM in terms of minimum error. However, it outperformed both LIO-SAM and FAST-LIO in other statistical indicators. Specifically, it achieved improvements of 20.14% and 52.19% in maximum error, 30.95% and 61.28% in average error, and 43.47% and 61.27% in root mean square error, respectively.
Finally, on the 10 sequence, the algorithm proposed in this paper outperformed both LIO-SAM and FAST-LIO in all metrics. In particular, it achieved improvements of 32.42% and 50.24% in maximum error, 48.09% and 58% in average error, 46.28% and 57.9% in root mean square error, and 65.88% and 47.13% in minimum error, respectively.

GPS Interrupted Experiment
This paper aims to simulate sudden interruptions of GPS signals by applying interruption processing to GPS data in the KITTI dataset, starting from the 20th second. Specifically, interruptions of approximately 268 s, 95 s, and 107 s were applied to the KITTI05, KITTI07, and KITTI10 sequences, respectively. The trajectories of these sequences are shown in Figures 8-10, respectively. From Figures A and B in each of these figures, it can be observed that the trajectory generated by the algorithm proposed in this paper is superior to that generated by LIO-SAM in GPS signal interruption scenarios. In terms of performance metrics on the 05 sequence, the algorithm proposed in t paper outperformed both LIO-SAM and FAST-LIO. Specifically, it achieved improv ments of 21.57%, 44.75%, 43.19%, and 12.22% in maximum error, average error, ro mean square error, and minimum error, respectively, when compared to LIO-SAM. F thermore, compared to FAST-LIO, the proposed algorithm showed improvements 74.09%, 79.64%, 63.68%, and 58.57% in the same metrics.
On the 07 sequence, the algorithm presented in this paper did not perform as w as LIO-SAM in terms of minimum error. However, it outperformed both LIO-SAM a FAST-LIO in other statistical indicators. Specifically, it achieved improvements of 20.14 and 52.19% in maximum error, 30.95% and 61.28% in average error, and 43.47% a 61.27% in root mean square error, respectively.
Finally, on the 10 sequence, the algorithm proposed in this paper outperform both LIO-SAM and FAST-LIO in all metrics. In particular, it achieved improvements 32.42% and 50.24% in maximum error, 48.09% and 58% in average error, 46.28% a 57.9% in root mean square error, and 65.88% and 47.13% in minimum error, respective

GPS Interrupted Experiment
This paper aims to simulate sudden interruptions of GPS signals by applying int ruption processing to GPS data in the KITTI dataset, starting from the 20th second. Sp cifically, interruptions of approximately 268 s, 95 s, and 107 s were applied to the K TI05, KITTI07, and KITTI10 sequences, respectively. The trajectories of these sequen are shown in Figures 8-10, respectively. From Figures A and B in each of these figures can be observed that the trajectory generated by the algorithm proposed in this paper superior to that generated by LIO-SAM in GPS signal interruption scenarios.  Table 2 presents the ATE statistical data for the proposed algorithm and LIO-SAM in GPS signal interruption scenarios.
For the KITTI05 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, with an increase of 0.126808 m. However, the proposed algorithm outperforms LIO-SAM in all other statistical indicators, with improvements of 40.92%, 29.01%, and 28.2%, respectively.   For the KITTI05 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, with an increase of 0.126808 m. However, the proposed algorithm outperforms LIO-SAM in all other statistical indicators, with improvements of 40.92%, 29.01%, and 28.2%, respectively.
For the KITTI07 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, but it outperforms LIO-SAM in all other statistical indicators with improvements of 43.13%, 13.85%, and 17.06%, respectively.
For the KITTI10 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, with an increase of 0.209469 m. However, the proposed algorithm outperforms LIO-SAM in all other indicators, with improvements of 50.96% 21.14%, and 29.75%, respectively.

Experiments on a Real Platform
In a subsequent evaluation of the method proposed in this paper, we conducted localization map-building experiments on an actual autonomous mobile robot in an outdoor environment. All datasets of real scenes in the park were collected on an experimental platform, as shown in Figure 11. The experimental platform was equipped with a 1.60 GHz Intel i5-8250U IPC and connected to an RS-LiDAR-16 LiDAR with a frequency of 10 Hz, a Witt Smart IWT905 IMU with a frequency of 200 Hz, and a GPS consisting of a 10 Hz BeiDou XingTong base station NC502-D and a mobile station NC507-S.  For the KITTI07 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, but it outperforms LIO-SAM in all other statistical indicators, with improvements of 43.13%, 13.85%, and 17.06%, respectively.
For the KITTI10 sequence, the proposed algorithm has a slightly higher minimum error value than LIO-SAM, with an increase of 0.209469 m. However, the proposed algorithm outperforms LIO-SAM in all other indicators, with improvements of 50.96%, 21.14%, and 29.75%, respectively.

Experiments on a Real Platform
In a subsequent evaluation of the method proposed in this paper, we conducted localization map-building experiments on an actual autonomous mobile robot in an outdoor environment. All datasets of real scenes in the park were collected on an experimental platform, as shown in Figure 11. The experimental platform was equipped with a 1.60 GHz Intel i5-8250U IPC and connected to an RS-LiDAR-16 LiDAR with a frequency of 10 Hz, a Witt Smart IWT905 IMU with a frequency of 200 Hz, and a GPS consisting of a 10 Hz BeiDou XingTong base station NC502-D and a mobile station NC507-S. An experiment was conducted to evaluate the positioning accuracy of our algorithm applied to data collected with a mobile autonomous robot in an outdoor environment where fluctuations or interruptions occurred in the GPS data. A navigation area with an approximate size of 280 × 280 m 2 was created in the park, and the resulting map is presented in Figure 12. An experiment was conducted to evaluate the positioning accuracy of our algorithm applied to data collected with a mobile autonomous robot in an outdoor environment where fluctuations or interruptions occurred in the GPS data. A navigation area with an approximate size of 280 × 280 m 2 was created in the park, and the resulting map is presented in Figure 12.
(a) (b) Figure 11. (a) Outdoor autonomous mobile robot experimental platform equipped with GPS, Li-DAR, and IMU sensors for data collection; and (b) closer view of the LiDAR and IMU sensors.
An experiment was conducted to evaluate the positioning accuracy of our algorithm applied to data collected with a mobile autonomous robot in an outdoor environment where fluctuations or interruptions occurred in the GPS data. A navigation area with an approximate size of 280 × 280 m 2 was created in the park, and the resulting map is presented in Figure 12.

GPS Uninterrupted Experiment
First, an experiment was conducted with uninterrupted GPS, and the resulting trajectory within the intelligent technology park is illustrated in Figure 13. The trajectory generated by the algorithm proposed in this paper closely aligns with the true trajectory, demonstrating superior trajectory accuracy compared to LIO-SAM. For instance, in the road section depicted in Figure 13A, the algorithm proposed in this paper exhibits the closest match to the true trajectory. Similarly, in the road section shown in Figure 13B, the proposed algorithm outperforms both LIO-SAM and FAST-LIO.

GPS Uninterrupted Experiment
First, an experiment was conducted with uninterrupted GPS, and the resulting trajectory within the intelligent technology park is illustrated in Figure 13. The trajectory generated by the algorithm proposed in this paper closely aligns with the true trajectory, demonstrating superior trajectory accuracy compared to LIO-SAM. For instance, in the road section depicted in Figure 13A, the algorithm proposed in this paper exhibits the closest match to the true trajectory. Similarly, in the road section shown in Figure 13B, the proposed algorithm outperforms both LIO-SAM and FAST-LIO. Within the intelligent technology park, Table 3 presents the ATE statistical data comparing the algorithm proposed in this paper, FAST-LIO, and LIO-SAM. In all statistical indicators, the algorithm proposed in this paper outperforms the two mentioned open-source algorithms. The maximum error value has been improved by 51.03% and 64.64%, the average error value has been improved by 21.68% and 55.5%, the root mean square error has been improved by 24.98% and 58.58%, and the minimum error value has been improved by 71.30% and 68.92%, respectively. These results affirm the high accuracy of the algorithm proposed in this paper. Table 3. Comparing the absolute error of our method with LIO-SAM on our own dataset.

Method
Max ( Within the intelligent technology park, Table 3 presents the ATE statistical data comparing the algorithm proposed in this paper, FAST-LIO, and LIO-SAM. In all statistical indicators, the algorithm proposed in this paper outperforms the two mentioned opensource algorithms. The maximum error value has been improved by 51.03% and 64.64%, the average error value has been improved by 21.68% and 55.5%, the root mean square error has been improved by 24.98% and 58.58%, and the minimum error value has been improved by 71.30% and 68.92%, respectively. These results affirm the high accuracy of the algorithm proposed in this paper.

GPS Interrupted Experiment
The experiment was conducted with intermittent GPS signal, and its trajectory within the Intelligent Technology Park is shown in Figure 14. Table 4 shows the ATE statistical data of this paper's algorithm and LIO-SAM under GPS interruption conditions. Despite varying GPS interruption times, the minimum error value remain changed, and the maximum error value changes relatively little. This is because th es associated with the minimum and maximum error values in the entire trajecto the Intelligent Technology Park are not part of the trajectory produced during GPS ruption. Therefore, the subsequent analysis of ATE statistical indicators will exclud maximum and minimum error values.
Under the GPS interruption condition for 50 s, this paper's algorithm shows average error and root-mean-square error compared to LIO-SAM, with improveme 19.61% and 30.53%, respectively. Under the GPS interruption condition for 100 s paper's algorithm demonstrates improvements of 17.33% and 29.11% in terms of av error and root-mean-square error compared to LIO-SAM. Under the GPS interru condition for 200 s, this paper's algorithm still outperforms LIO-SAM, with imp ments of 12.05% and 23.14%, respectively. These results indicate that this paper's Despite varying GPS interruption times, the minimum error value remains unchanged, and the maximum error value changes relatively little. This is because the poses associated with the minimum and maximum error values in the entire trajectory of the Intelligent Technology Park are not part of the trajectory produced during GPS interruption. Therefore, the subsequent analysis of ATE statistical indicators will exclude the maximum and minimum error values.
Under the GPS interruption condition for 50 s, this paper's algorithm shows better average error and root-mean-square error compared to LIO-SAM, with improvements of 19.61% and 30.53%, respectively. Under the GPS interruption condition for 100 s, this paper's algorithm demonstrates improvements of 17.33% and 29.11% in terms of average error and root-mean-square error compared to LIO-SAM. Under the GPS interruption condition for 200 s, this paper's algorithm still outperforms LIO-SAM, with improvements of 12.05% and 23.14%, respectively. These results indicate that this paper's algorithm maintains relatively good accuracy improvement even when GPS data is suddenly interrupted for 50 s, and the improvement rate gradually decreases with longer GPS data interruption time. However, the overall trajectory accuracy of this paper's algorithm remains higher than that of LIO-SAM.

Conclusions
This paper presents a SLAM system that combines the IESKF and factor graph approaches. The proposed algorithm tightly integrates the laser rangefinder and IMU to obtain an initial pose estimation using IESKF in the front-end. In the back-end, it fuses frontend odometry, IMU, GPS, and loop closure factors, using a factor graph to achieve precise pose estimation. Additionally, a filtering strategy based on GPS status and confidence is applied to remove abnormal GPS data. Multiple experiments were conducted on the KITTI dataset and our own dataset to verify the accuracy of the SLAM system in scenarios with GPS signal interruption. The results demonstrate that our method outperforms LIO-SAM and FAST-LIO in terms of accuracy when GPS data is interrupted.