Next Article in Journal
UAV Swarm Target Identification and Quantification Based on Radar Signal Independency Characterization
Previous Article in Journal
Spatial and Temporal Variations of Total Suspended Matter Concentration during the Dry Season in Dongting Lake in the Past 35 Years
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Salp Swarm Algorithm-Based Kalman Filter for Seamless Multi-Source Fusion Positioning with Global Positioning System/Inertial Navigation System/Smartphones

1
School of Communications and Information Engineering & School of Artificial Intelligence, Xi’an University of Posts and Telecommunications, Xi’an 710121, China
2
National Time Service Center, Chinese Academy of Sciences, Xi’an 710600, China
*
Author to whom correspondence should be addressed.
Remote Sens. 2024, 16(18), 3511; https://doi.org/10.3390/rs16183511
Submission received: 15 July 2024 / Revised: 11 September 2024 / Accepted: 18 September 2024 / Published: 21 September 2024

Abstract

:
With the rapid development of high-precision positioning service applications, there is a growing demand for accurate and seamless positioning services in indoor and outdoor (I/O) scenarios. To address the problem of low localization accuracy in the I/O transition area and the difficulty of achieving fast and accurate I/O switching, a Kalman filter based on the salp swarm algorithm (SSA) for seamless multi-source fusion positioning of global positioning system/inertial navigation system/smartphones (GPS/INS/smartphones) is proposed. First, an Android smartphone was used to collect sensor measurement data, such as light, magnetometer, and satellite signal-to-noise ratios in different environments; then, the change rules of the data were analyzed, and an I/O detection algorithm based on the SSA was used to identify the locations of users. Second, the proposed I/O detection service was used as an automatic switching mechanism, and a seamless indoor–outdoor localization scheme based on improved Kalman filtering with K-L divergence is proposed. The experimental results showed that the SSA-based I/O switching model was able to accurately recognize environmental differences, and the average accuracy of judgment reached 97.04%. The localization method achieved accurate and continuous seamless navigation and improved the average localization accuracy by 53.79% compared with a traditional GPS/INS system.

1. Introduction

With the rapid development of navigation technology, various navigation sensors and algorithms have emerged [1]. Global navigation satellite systems (GNSSs) are crucial for outdoor positioning. However, in indoor and outdoor (I/O) transition environments, GNSS signals are susceptible to interference from high-rise buildings [2], and the signal strength is significantly lower, which poses a serious challenge for seamless high-precision positioning.
To improve navigation performance in I/O transition areas, an increasing number of researchers are working on solving the problem of localization in occluded environments with weak GNSS signals. An inertial navigation system (INS) is an autonomous navigation system that does not depend on external information or radiate energy to the outside [3]. Its working principle is based on Newton’s laws of mechanics. Information such as velocity, yaw angle, and position in the navigation coordinate system can be obtained by integrating the acceleration of the measured carrier in the inertial reference frame against time and transforming it into the navigation coordinate system [4]. In the case of a poorly received GNSS signal in an occluded environment, such as an indoor environment, INS-assisted fusion Kalman filtering can be used to achieve localization; thus, combined GNSS/INS navigation is a better solution. El-Sheimy et al. proposed a dynamic error model based on an artificial neural network (ANN) to enhance the robustness of INS/GNSS [5]. By integrating navigation and positioning techniques, this method circumvents the limitation that the conventional Bayesian approach requires a priori knowledge to study GNSS signal interruptions, but it requires a large amount of high-quality data for training, and the training process may take a long time and many computational resources [6,7]. A tightly coupled method based on the GNSS carrier phase, an inertial measurement unit (IMU), and ultra-wideband (UWB) was proposed by Jiang et al. [8] and evaluated at predetermined static points, but this method requires a large number of UWB anchors to ensure that there is no rank loss. In [9], a tightly coupled PPP/INS/UWB filter was proposed by Z. Li et al. to improve the performance of PPP/INS. For common problems, such as drift occurring during interruptions of GNSS signals and multipath effects in urban regions [10], an adaptive extended Kalman filter (AKF) can be used for autonomous tuning to accurately analyze the mechanical properties and noise of the system [11,12]. Apart from linearization methods, the unscented Kalman filter (UKF) can handle large modeling errors and tolerate large initial attitude uncertainties through a given nonlinear transformation, but the performance of the UKF is sensitive to parameter settings and requires careful tuning to obtain optimal results [13,14,15]. Researchers have also proposed localization methods for indoor or other sheltered environments with poor GNSS signals, where mobile targets may receive signals with large coarse errors or cannot be positioned using satellites [16]. Because the power consumption and resource deployment of different positioning algorithms differ between indoor and outdoor environments, detecting the location of a smartphone user to apply the appropriate positioning method can improve positioning accuracy while saving resources. Therefore, I/O detection of a user’s location is necessary for better and more seamless positioning.
I/O detection is a step that connects indoor and outdoor environments for seamless positioning. To improve positioning accuracy and cut down power consumption, a multi-source converged localization system triggers specific localization fusion patterns based on I/O detection results [17]. Methods that focus on I/O detection in different environments can be divided into two categories: methods based on immutable detection principles or thresholds and methods based on machine learning. The first method uses immutable thresholds, where a mobile device is assumed to be in a certain environment when the sensor reading is compared with a certain value. P. Zhou et al. [18] used sensors within smartphones, including distance sensors, light sensors, accelerometers, magnetometers, and cellular tower RSS, to distinguish surroundings. However, it is difficult to adapt fixed detection rules or threshold-based methods to various circumstances and equipment. The second method extracts features from embedded smartphone sensors and detects I/O status using machine learning algorithms. MagI/O [19] used machine learning algorithms such as support vector machines (SVMs), gradient boosting machine (GBM), random forest (RF), k-nearest neighbor (kNN), and decision tree (DT) to process magnetic signals for I/O detection. Tests showed that some of the above methods could achieve an accuracy of more than 80% by using magnetic data exclusively. Of the two methods mentioned above, the first approach, which uses fixed thresholds, cannot adapt to different environments, and the second method is based on machine learning. Although the accuracy of the second method is improved to a certain extent compared with the conventional thresholds, it requires a large number of test sets, which greatly increases the workload. After investigation, there is no method for solving I/O detection with optimization algorithms; this is because most of the traditional optimization algorithms need more iterations to converge when dealing with realistic problems, which means slower speed. The salp swarm algorithm (SSA) is a relatively new optimization algorithm that was proposed in 2017 [20] and can quickly and easily solve all kinds of numerical problems in scientific research; it shows higher computational efficiency and convergence speed than those of traditional optimization algorithms, and this low latency and high efficiency are exactly what is needed for indoor and outdoor detection and localization application scenarios.
To solve the problems described above, this study presents an improved Kalman-filtered seamless GPS/INS positioning method based on the SSA. First, an indoor and outdoor switching algorithm based on salp swarm group optimization is proposed. The adaptive function of the SSA was designed, and the adaptive system between biological populations was used to randomly search for the global optimal solution that satisfied the objective function and transform the conventional fixed threshold into real-time dynamic switching parameters, which effectively completed the accurate detection of indoor and outdoor environments without test sets. Second, for transitional or indoor regions with poor-quality GNSS signals, this study achieved continuous localization and orientation across I/O regions by updating the Kalman filter based on combined GPS/INS navigation, and the similarity between the states and observations was assessed through Kullback–Leibler divergence (KL divergence) according to the physical meaning and properties of the data. This approach neither introduced a large dataset, as the neural network approach does, nor did it require the addition of physical devices to ensure localization accuracy, as other approaches do. The main contributions of this study can be summarized as follows:
(1)
A smartphone-based salp swarm-optimized I/O detection algorithm is proposed; it designs a suitable fitness function and searches for optimal dynamic switching parameters to achieve reliable detection in the presence of different devices and environments.
(2)
To perform the evaluation of the proposed algorithm in a classic I/O scenario, the proposed method was compared with several machine-learning- and sensor-data-based detection methods. The experimental results showed that the proposed algorithm achieved higher I/O detection accuracy in complex scenarios than the other algorithms in the test environment.
(3)
The proposed I/O detection service was used as an automatic switching mechanism to achieve accurate and seamless indoor–outdoor localization with an integrated solution based on Kalman filtering improved with Kullback–Leibler divergence.
In the second section of this article, the GPS/INS fusion localization model and the INS error model that serve as the foundation for the fusion algorithm’s design are presented. In addition, the state and observation models are elaborated upon. An I/O detection model based on the SSA as a key-switching algorithm for seamless I/O positioning is presented in Section 2.2. In Section 2.3, an improved Kalman filtering algorithm based on KL divergence is presented. In Section 2.4, the design of a seamless localization system by combining the architectures of the algorithms proposed in Section 2.2 and Section 2.3 is presented. Comparisons of the performance of the proposed scheme via experimental simulations and field experiments are described in Section 3.

2. Materials and Methods

2.1. GPS/INS Fusion Model

2.1.1. GPS/INS State Model

A system model for continuous-time Kalman filtering of the combined GPS/INS navigation system is as follows [21]:
δ x ˙ = F δ x + Gw
where w is the process noise, which describes random perturbations that are not considered in the dynamic modeling of the system. G is a noise distribution vector containing the variance associated with the state vector. The following items represent the extent to which the noise source affects the position, velocity, attitude, gyroscope, and acceleration, respectively [22]:
G = σ r , 1 × 3 , σ v , 1 × 3 , σ ε , 1 × 3 , σ ω , 1 × 3 , σ f , 1 × 3
F is a dynamic covariance matrix containing the components of the INS error model and can be summarized in the following form:
F = 0 3 × 3 F r 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F v 0 3 × 3 0 3 × 3 0 3 × 3 F ε 0 3 × 3 R b l 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F ω 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F f
The state vectors are the error components of the position, velocity, attitude, accelerometer, and gyroscope:
δ x 15 × 1 l = δ r 3 × 1 l δ v 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ f 3 × 1 T
Therefore, the system model for combined INS/GPS navigation can be written as follows:
δ r ˙ 3 × 1 l δ v ˙ 3 × 1 l ε ˙ 3 × 1 l δ ω ˙ 3 × 1 δ f ˙ 3 × 1 = 0 3 × 3 F r 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F v 0 3 × 3 0 3 × 3 0 3 × 3 F ε 0 3 × 3 R b l 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F ω 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 F f δ r 3 × 1 l δ v 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ f 3 × 1 + σ r , 1 × 3 σ v , 1 × 3 σ ε , 1 × 3 σ ω , 1 × 3 σ f , 1 × 3 w
The above equation is discretized, and the system model in discrete time is
δ x k = I + F Δ t δ x k 1 + G Δ t w k 1
δ r ˙ 3 × 1 l δ v ˙ 3 × 1 l ε ˙ 3 × 1 l δ ω ˙ 3 × 1 δ f ˙ 3 × 1 = I 3 × 3 F r Δ t 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 F v Δ t 0 3 × 3 R b l Δ t 0 3 × 3 F ε Δ t I 3 × 3 R b l Δ t 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 + F ω 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 + F f Δ t δ r 3 × 1 l δ v 3 × 1 l ε 3 × 1 l δ ω 3 × 1 δ f 3 × 1 + σ r , 1 × 3 σ v , 1 × 3 σ ε , 1 × 3 σ ω , 1 × 3 σ f , 1 × 3 w
where Δ t is the time interval between two consecutive state updates in a discrete-time model.

2.1.2. Inertial Navigation Model

GPS signals are used for the optimal estimation of navigation information, and the results of the optimal estimation are fed back to correct the INS to maintain a high accuracy [23]. Therefore, this study introduces the INS error model as the basis for designing the fusion model, which describes the position, velocity, and attitude errors due to a variety of error sources [24]. In most cases, these models are based on latitude, longitude, and altitude errors, as well as east, north, and vertical velocity errors.
The error state vector of the inertial control system is expressed as follows:
x 15 × 1 l = δ r 3 × 1 l , δ v 3 × 1 l , ε 3 × 1 l , δ ω 3 × 1 , δ f 3 × 1 T
The error linearization model for each part of the above equation in the local-level frame (LLF) system is δ r l = δ φ , δ λ , δ h T , which is the location error vector referring to the error in the latitude, longitude, and elevation estimates of the geographic location.
δ φ ˙ δ λ ˙ δ h ˙ δ r ˙ l = 0 1 R M + h 0 1 R N + h cos φ 0 0 0 0 1 F r δ v e δ v n δ v u δ v l
δ v l = δ v e , δ v n , δ v u T is a velocity error vector that omits smaller terms and can be succinctly expressed as follows:
δ v ˙ e δ v ˙ n δ v ˙ u δ v ˙ = 0 f u f n f u 0 f e f n f e 0 F v δ p δ r δ A ε + R 11 R 12 R 13 R 21 R 22 R 23 R 31 R 32 R 33 R b l δ f x δ f y δ f z δ f
ε l = δ p , δ r , δ A T is the attitude error vector, which can usually be modeled by ignoring the inverse term of the Earth’s radius and the product term of the Earth’s rotation; therefore, the attitude angle error can be simplified by retaining only the first two terms:
ε ˙ l = δ p ˙ δ r ˙ δ A ˙ ε ˙ l = 0 1 R M + h 0 1 R N + h 0 0 tan φ R N + h 0 0 F ε δ v e δ v n δ v u δ v l + R b l δ ω x δ ω y δ ω z δ ω
δ f = δ f x , δ f y , δ f z T is the accelerometer error vector, which can be calculated with the following equation:
δ f x δ f y δ f z δ f ˙ b = β f x 0 0 0 β f y 0 0 0 β f x F f δ f x δ f y δ f z δ f b + 2 β f x σ f x 2 2 β f y σ f y 2 2 β f z σ f z 2 σ f w t
δ ω = δ ω x , δ ω y , δ ω z T is the gyroscope error vector. The drift error of the gyroscope is
δ ω ˙ = δ ω ˙ x δ ω ˙ y δ ω ˙ z δ ω ˙ = β ω x   0 0 0 β ω y 0 0 0 β ω x F f δ ω x δ ω y δ ω z δ ω + 2 β ω x σ ω x 2 2 β ω y σ ω y 2 2 β ω z σ ω z 2 σ ω w t

2.1.3. GPS/INS Observation Model

The discrete KF measurement model is expressed as follows:
δ z k = H k δ x k + η k
where the second term on the right-hand side of the equation represents the zero-mean measurement noise with covariance R k .
Because the state vector of the KF contains the error in the INS, the corresponding measurement vector consists of the difference between the velocity and position predicted with the INS and the position and velocity measured with GPS [25].
δ z k = r INS l r GPS l v INS l v GPS l = φ I N S φ G P S λ I N S λ G P S h I N S h G P S v e , I N S v e , G P S v n , I N S v n , G P S v u , I N S v u , G P S
H k is the measurement matrix at time t k , which describes the measured values obtained using a linear combination of the state variables without noise z k , as follows:
H k = I 6 × 6 0 6 × 9
The complete measurement model can then be written as follows:
r INS l r GPS l v INS l v GPS l = I 3 × 3 0 3 × 3 0 3 × 9 0 3 × 3 I 3 × 3 0 3 × 9 + η r η v
It can be expanded to obtain the following:
φ I N S φ G P S λ I N S λ G P S h I N S h G P S v e , I N S v e , G P S v n , I N S v n , G P S v u , I N S v u , G P S = I 6 0 6 × 10 k + η φ η λ η h η v e η v n η v u k
In addition, there are two important covariance matrices: R k and P k . R k contains the variance on the diagonal of the measured state, which is defined as
R k = d i a g ( σ ϕ 2 , σ λ 2 , σ h 2 , σ v e 2 , σ v n 2 , σ v u 2 )
The covariance of the predicted state P k is a diagonal matrix consisting of the variances on a diagonal.
P k = d i a g σ r , 3 × 3 2 , σ v , 3 × 3 2 , σ ε , 3 × 3 2 , σ w , 3 × 3 2 , σ f , 3 × 3 2
where the variance term of each diagonal element is also a 3 × 3 diagonal matrix related to the position, velocity, attitude, gyroscope bias, and accelerometer bias.
Based on the mathematical model of combined GPS/INS navigation, to effectively manage the resources for rapid positioning and improve the positioning accuracy, according to the user’s location, indoor areas, outdoor areas, and the edge of the two (for rapid switching) are used to find the optimal positioning algorithm and to select the optimal positioning method; this study adopts an I/O detection algorithm based on salp swarm optimization to detect the user’s location in order to improve the response speed and accuracy of positioning.

2.2. Indoor/Outdoor Detection Algorithm Based on Salp Swarm Optimization

When conducting I/O detection, existing algorithms, such as machine learning methods, not only require a large number of datasets for testing but also have a large time delay and low efficiency, while traditional threshold-switching algorithms have low accuracy and are not flexible enough; however, the SSA works quickly and easily to solve all kinds of numerical problems in scientific research, and it shows high computational efficiency and convergence speed compared with traditional optimization algorithms; this low latency and high efficiency are exactly what is needed for I/O detection and localization application scenarios. Therefore, this section proposes an I/O detection method based on swarm intelligence optimization as an important part of a seamless navigation system. In this study, the focus was on the localization problem on a two-dimensional plane. Therefore, the search space can be represented as N × 2 , N is the size of the salp swarm population, and j is the kinetic model dimension [26]. The food in the space can be represented as F = F 1 , F 2 , which represents the optimal parameter for switching between indoor and outdoor environments; the position matrix of the salp swarm in the candidate solution space is X = X n 1 , X n 2 , the upper bound of the search space is ub = u b 1 , u b 2 , and the lower boundary is lb = l b 1 , l b 2 . The population initialization formula is as follows:
X j × N = r a n d j , N · u b j , N l b j , N + l b j , N
where X j i denotes the jth dimension of the ith follower individual because this study was conducted in two dimensions: j = 1 , 2 , i = 1 , 2 , 3 , 4 , . . . , N ; N is the follower serial number.
When developing the adaptation function of the SSA, it was taken into account that it must be able to distinguish between different environments. Therefore, sensor data were selected for I/O environments with large differences or with a specific pattern of change.
According to observations, the main source of light in indoor environments comes from artificial light sources, such as incandescent and fluorescent lamps [27]. Outdoors, sunlight is the main source of light during the day. Therefore, the difference in light intensity between I/O scenarios is large, so it can be used as a basis for differentiation. Other sensor data selected in this study, such as the cellular RSSI, magnetic field strength, satellite signal-to-noise ratio, and the number of visible satellites, also have certain change patterns in I/O areas and in the transition area, which can be used to construct an objective function.
By constructing a correlation matrix based on the observation data obtained from each sensor and summarizing the principle of solving for the optimal switching coefficients in matrix form, the following relationship equation can be obtained:
E = FY
where Y is the estimated weight, E is the matrix of coefficients associated with each sensor, and F is the correlation matrix of the collected data.
Owing to the effects of the measurement error, the above equation can be expressed as follows:
E ^ = F ^ X
Therefore, the problem of determining the optimal switching parameters can be treated as a problem of finding the optimal weights, which can be solved by applying an intelligent optimization algorithm.
The objective function can be constructed as follows:
min Y D ^ , x = 1 D ^ D × x 1 D ^ D × x T
The fitness function for evaluating the individuals in the SSA algorithm is, then,
f X = i = 1 M 1 D i ^ D × x 1 D i ^ D × x T
where D ^ i is the measured value of the sensor at the ith moment, D is the constant at which the sensor can distinguish between indoor and outdoor switching, and x is the optimal solution found by the salp swarm; the weights are used to calculate the optimal parameters for I/O switching.
The SSA aims to find the optimal value by simulating the feeding and movement processes of salps. The population is divided into two types, leaders and followers, with each accounting for 50% of the total number of individuals in the swarm [28]. The two types of salp individuals use different methods to update their positions during the feeding process, with the leader’s position being updated as follows [29]:
x i j = F d + c 1 u b l b c 2 + l b c 3 0.5 F d c 1 u b l b c 2 + l b c 3 < 0.5
where F d is the dth dimensional variable of the food location, and c 2 and c 3 are random numbers from 0 to 1. c 2 is the convergence factor, which controls the convergence speed and stability of the algorithm. c 3 determines the direction of movement of x i , enhances diversity, and provides a global search function. c 1 stands for the boundary range, which determines the breadth of the algorithm’s search in the solution space. Whether the algorithm performs a global or local search is controlled by c 1 ; a global search is performed when c 1 > 1 , and a local search is performed when c 1 < 1 . c 1 is determined by the following equation:
c 1 = 2 e 4 t T max 2
where t is the current iteration number and T m a x is the maximum iteration number.
The movement of the follower salp individuals follows Newton’s second law of motion, and their positions change as follows:
X d m = X d m + 1 2 X d m 1 X d m = X d m + X d m 1 2
where X d m indicates that the mth follower was located in the dth dimension before the update, and X d m represents the orientation of the follower after the update. The correction process for particles outside the value interval is performed as follows:
x i j t = j min + r a n d 0 , 1 j max j min
Based on the characteristics of I/O multi-sensors combined with the structural features of salps and search history information, the fitness function within the population constraint is optimized, and an I/O switching algorithm based on the salp swarm optimization algorithm is proposed. The specific steps are as follows:
Step 1: Initialize parameters: The maximum number of iterations is initialized; the number of salp populations represents the dimensional value of the number of sensors of multiple types, and the upper and lower bounds of the populations in each dimension space represent the upper and lower values of the variation in the weight ranges of each sensor.
Step 2: The individual fitness values are calculated, and the optimal solution is selected. The location of the salp swarm with the optimal adaptation value to be updated is selected as the food source, and it is used as the optimal solution; i.e., the weights of the current optimal switching parameters are calculated.
Step 3: The salp groups are divided into two parts: leaders and followers. The leaders are in the first half, and the followers are in the second half. The leaders update their positions according to (26), which makes it easier to explore and develop resources near the current optimal solution, and the followers update their positions according to (28).
Step 4: The fitness value is recalculated. After completing these steps, the fitness values of the salps are recalculated, the salp position corresponding to the optimal fitness value is selected, and the optimal solution is updated.
Step 5: The iteration conditions are determined. If it is greater than the maximum number of iterations, the optimal solution, i.e., the optimal fitness value and optimal position, is output, and the algorithm ends. If it was less than the maximum number of iterations, steps 3 and 4 are repeated.
Based on the salp swarm optimization model, a novel I/O detection model based on the fusion of smartphone sensors was proposed. The model consists of two main processing stages: in the first stage, data such as the light magnetic field of a user’s environment are collected using smartphone sensors, and in the second stage, the data collected from multiple sensors are input into the SSA model for prediction. A flowchart of the switching algorithm based on optimization with the SSA is shown in Figure 1.

2.3. Improved Kalman Filtering Algorithm Based on Kullback–Leibler Divergence

To further improve the accuracy and reliability of fusion localization in indoor and outdoor transition regions, the a posteriori estimation of the Kalman filter was updated based on the physical meaning and characteristics of the data by evaluating the degree of similarity between the state and the observation, and the equations for updating the variables in the conventional Kalman filter were changed to improve the stability of the filter and the accuracy of the fusion localization.
By estimating the state of the system at moment k from the information at moment k 1 , supposing that the system noise is zero-mean, the state estimate at moment k is expressed as follows [30]:
x ^ k = Φ k , k 1 x ^ k 1 +
At the same time, Kalman filtering also transfers the uncertainty from the previous moment k 1 to the next moment k. The indeterminacy is expressed through the error covariance P k : [31]:
P k = Φ k , k 1 P k 1 + Φ k , k 1 T + G k 1 Q k 1 G k 1 T
where P is the state covariance matrix, and Q is the input covariance matrix.
If the state x k follows a Gaussian distribution as follows:
f x = N x μ , p
The posterior is then calculated according to the following formula:
f x z f x N z Φ , R
In the presence of additive noise, the a posteriori Kalman estimate is normally computed using general Gaussian filtering (GGF) equations [32]. In the GGF solution process, there exists an implicit condition: the state variables x k and the observed variables z k obey a joint Gaussian distribution. However, the variables x k and z k usually do not follow a strict Gaussian distribution, which makes the prediction error large and may lead to prediction bias. Therefore, the equations are updated by evaluating the similarity between x k and z k and then calculating the Kalman gain from it.
The Kullback–Leibler divergence (KL divergence) measures the degree of difference between two probability distributions; when the KL divergence is larger, it indicates a greater degree of difference between the two, while when the KL divergence is smaller, it indicates a greater degree of similarity between both. Given two distributions p x y and q x , the forward KL divergence is defined as
D K L q p = q x ln q x p x y d x
For the nonlinear Kalman filtering problem, the posterior is on the latent state vector x k and, thus, is intractable. Therefore, as is often the case, D K L is not calculable. Instead, variational inference [33,34] uses the identity
ln p y = L q , p y , x + K L q x p x y
where
L q , p y , x = q x ln p y , x q x d x
Paisley et al. [35] proposed a stochastic method for sampling unbiased gradients of L , allowing for approximation-free minimization of the forward KL divergence using stochastic gradient descent. The following equation was obtained from the literature:
L = f x t q + ln p x t q ln q x t q
f x t = 1 2 y t h x t T R 1 y t h x t
Thus, the problem of finding the minimum of the divergence is transformed into finding the gradient of L . By finding the gradient of the mean and variance of L separately such that μ ^ L = 0 and Σ ^ L = 0 , the a posteriori parameters can be derived.
The above is the process of using divergence to describe the degree of similarity between two variables—the state and the observation—and of solving for the Kalman posterior parameter by finding its minimum value.
According to [36], the degree of similarity between the state and the observation in Kalman filtering can be calculated as follows:
D K L x k | | z k = 1 2 log I + R 1 χ
where
χ = X Z z k z k 1 z k z k 1 T Ψ T P 1 Ψ
The Kalman gain can be derived from the KL-divergence as follows:
K ˜ = Ψ ϖ T Z z k z k 1 z k z k 1 T + R 1
where
Ψ = X Z x k μ z k z k 1 T
χ ˜ is the diagonal matrix of χ and is defined as follows:
χ ˜ = ϖ χ ϖ T
When a new measurement z k is acquired at moment t k , it is compared with the predicted measurement H k x ^ k based on a priori state estimation.
e = z k H k x ^ k ( )
The two errors are weighted using K , and the state vector prediction is updated to produce the best estimate as follows:
x ^ k + = x ^ k + K k z k H k x ^ k
In the update phase, the mean and variance of the posterior values are estimated as follows:
μ + = μ + K Z k Z k 1
P + = P K Z z k z k 1 z k z k 1 T + R K T
The improved Kalman filtering algorithm based on KL divergence continues the I/O detection algorithm proposed in the previous section. If the user’s location is detected as an I/O transition region, the algorithm establishes a dynamic model x ^ k 1 + and a measurement model Z k based on the state vectors of the user’s position, velocity, etc., acquired by each sensor, in accordance with traditional Kalman filtering. Specifically, the a priori information in the prediction phase remains unchanged, and based on the state transfer equations and control inputs of the system, the next state’s x ^ k is predicted, and the uncertainty of the predicted state is estimated, i.e., P k , (41) is used instead of the traditional Kalman gain K in the updating phase; the covariance matrices of the state estimation x ^ k + and the state uncertainty P k + are updated based on the values of K according to (45) and (47), respectively, to obtain the next moment of the user’s state information. A flowchart of the above algorithm is shown in Figure 2.

2.4. System Architecture

Considering the poor GPS signals in indoor and other sheltered environments, a moving target may receive signals with large coarseness or may not be able to use satellite positioning, which may significantly degrade navigation performance. Therefore, precise partitioning of I/O scenes is necessary to achieve robust localization. In this study, a seamless I/O positioning algorithm is proposed based on optimization with the SSA. Multiple sensors of a smartphone were used to collect data and analyze the rules. By constructing a suitable performance function, the salp swarm optimization algorithm was used to determine whether the user was indoors or outdoors. In outdoor environments, GPS was used for positioning, and the GPS signal was weakened in the transition area. In this case, the INS was used to assist the GPS data, and the positioning was realized with a fusion Kalman filter improved with KL divergence. An improved Kalman filter system model and a measurement model based on KL divergence were established, and the information about the user’s posture was obtained through integrated multi-sensor navigation. This method compensates for the shortcomings of single-navigation-system localization, such as lost locks in GPS satellite signals, low-frequency data updates, and an inability to obtain attitude information.
As shown in Figure 3, the seamless indoor–outdoor positioning system is divided into two parts. The first part is I/O detection, which includes GPS data collected from multiple sensors, magnetic field strength, light intensity, and other information to analyze the environment where the user is located using the SSA scheme, and the second part is the improved GPS/INS positioning, which matches the corresponding positioning algorithms based on the environmental results calculated in the previous step. If the detection result is outdoors, the traditional precise point positioning method using GPS fully provides the required accuracy for navigation; if the detection results are indoors or in a transition area, the fusion positioning method proposed in this study meets the accuracy requirement. The use of integrated GPS/INS schemes in environments with poor GPS signals together with improvement due to the use of the K-L divergence in the relationship between the state and the observation can improve the accuracy of localization indoors or in other complex environments where GPS signals are attenuated. The proposed algorithm improves the performance of conventional INS/GPS during seamless indoor and outdoor localization, and this integration scheme provides a theoretical basis for achieving higher performance with low-cost sensors.

3. Experiment Results and Analysis

To verify the robustness of the algorithm and evaluate its performance in seamless switching, experiments were conducted using Xiaomi 13 (MI 13), Xiaomi 10 (MI 10), and Honor ANY (AN00) smartphones on the campus of Xi’an University of Posts and Telecommunications (XUPT), as shown in Figure 4. The experimenters carried three different types of smart mobile devices while walking along a preset trajectory. To prevent the influence of human behavioral differences on the sensor signal quality, the experimenters held the smartphones uniformly horizontally and received the signals at an appropriate height.
To construct a database for the indoor/outdoor detection (IOD) model in the indoor, outdoor, and semi-indoor (IOS) scenarios, a series of sensors were selected, such as GPS, Wi-Fi, light and magnets sensors, and their measurements were synchronously recorded via Android applications. As shown in Table 1, due to the different sampling rates of the smartphones, the time window method was used to complete the data acquisition of each sensor separately. The signal-to-noise ratio and amount of visible satellite data in the GPS were measured at a frequency of once per second. For the light sensors, multiple (2–6) light intensity values per second were recorded via proximity sensor detection to avoid interference from clothing. For the magnetometers, three-axis magnetic values were collected. No coordinate conversion was used because the magnitude of the values in all three directions was a magnetometer. For Wi-Fi, callbacks were used as correlated signal indicators, and the RSSI was recorded for each periodic scan, which was controlled by the Android API. For behavioral sensors, such as accelerometers, gyroscopes, and gravity sensors, statistical metrics in the time and frequency domains were calculated from the raw time series as behavioral features. To counteract the effect of the smartphone pose, raw measurements were first converted into the world coordinate system using a rotation matrix in the smartphone output. A low-pass filter was then used to eliminate the noise. During information acquisition, anomalous or missing sensor readings required data cleaning or denoising methods to eliminate them. For data with low importance and a low rate of missing entries, this study did not apply additional processing; for those with high importance and a high rate of missing entries, similar values were obtained by repeating the experimental method; for those with high importance and low rate of missing entries, estimation was performed using empirical or theoretical knowledge. The software for cell phone data collection is SensorSense v4.0.5, and the app used to collect the GPS signal-to-noise ratio is GPS Test Plus v3.5.8.
Figure 5 and Figure 6 present the search space and the fitness function curves, respectively. As shown in Figure 5, the fitness function designed in this study was a multimodal test function with more than one optimal value, which prevented it from falling into local optima and benchmarked the explorative behavior of the optimization algorithm. Figure 6 shows that the fitness function decreased and tended to zero within 10 iterations, indicating that the function could search for the best switching parameters.
Figure 7 shows the detection effects of the three cell phones when using the SSA switching algorithm. In the figure, it can be seen that there were four I/O and transition region switches in this scene at the time points of 65 s, 75 s, 410 s, and 415 s. During these time periods, the user’s environment changed, and during the switching process, the sensor data inputted into the SSA changed differently (e.g., the light intensity changed drastically, while the RSSI may have changed only after a short delay), and this variability, as well as the difference in sensitivity of the sensors of each cell phone, led to a difference in the collected data, which explained why the lines did not overlap at the moment of switching. Most of the lines overlapped because it seemed that, although there were slight differences in the collected data, the overall trend of the sensor data was the same, which also showed that the SSA was effective in detecting the user’s location. Using the SSA to detect I/O conditions, the recognition effects of the three cell phones had small differences, a high accuracy, and a short delay.
Figure 8 shows the number of switching times for a single sensor in the scenario of Figure 7, from which it can be seen that the detection results of the light, GPS, and RSSI are all the same as the actual scenario (switching twice), of which GPS is the most accurate with the smallest switching delay, while RSSI has the largest switching delay. In addition, the magnetometer switched three times, which is more inaccurate compared to the other sensors, but the overall switching results match the experimental scenarios, verifying the robustness of the proposed algorithm.
Figure 9 and Figure 10 show the recognition accuracy for I/O areas and transition areas when using single and multiple sensors, respectively. In addition, the indoor and outdoor recognition accuracy for a single sensor was almost always greater than 90%, while the recognition accuracy in the transition region only reached above 80%, reflecting the necessity of using multiple sensors. In the multi-sensor recognition experiments, data were collected using three different smartphone brands. The I/O detection accuracy was over 95%, and the transition area accuracy was over 90%, which illustrated the general applicability of the proposed algorithm.
Table 2 shows the combined detection accuracy of the sensors of the three cell phones, from which it can be seen that during the course of the experiments, the accuracy of the detection can reach 99% both indoors and outdoors, and the accuracy in the transition area can achieve more than 90%.
Table 3 presents a comparison of the performance of a detection method using machine learning, methods using fixed thresholds, and the detection method proposed in this study. Ashraf et al. [19] extracted different features of magnetic field data to distinguish I/O environments in a classifier based on machine learning, such as SVM and GBM, and the results of the detection were not satisfactory due to the singularity of the sensor data. To address the accuracy requirement, the authors of [37] designed an aggregated IOS detector based on the semi-Markov conditional random field (semi-CRF) algorithm. The sub-detector utilized only a WiFi sensor and a weak learner, making it easy to use and energy efficient. Zhou et al. [18] used three low-power sensors—light detectors, cellular detectors, and magnetometers—in combination with a Markov model to form a lightweight sensor for I/O detection. SenseIO [38] used measurements from sensor-rich smartphones to automatically infer the type of surroundings, with a detection accuracy of 91.30%. The proposed algorithm achieved an average combined detection accuracy of approximately 97.04% due to its highly explorative character and its ability to avoid local optima, and the simulated salp chain allowed the SSA to explore the search space and gradually move towards the global optimum. In this way, the problem of the low detection accuracy and reliability of existing IOD services is solved while reducing the complexity. In addition, the complexity evaluated in this study refers to the time complexity of the specific algorithms used in each article due to the requirement of low latency when switching between indoor and outdoor scenes.
Figure 11 and Figure 12 show the location–trajectory localization results for the two switching scenarios. In Figure 12, it is evident that the black dashed boxes mark the specific positions of the two switching points. In addition, the moving target started from the (1000, 0) position; when it reached the first switching point, the environment changed from outdoors to indoors, and the GPS signal became poorer and was gradually interrupted. At the same time, the three localization methods started to show large errors, and the localization error continuously increased after accumulation. The conventional GPS/INS method performed better in the first change in position, but the positioning error slowly increased with time, and a large error occurred during the second switching, indicating that the higher system accuracy requirements were not met. The improved solution proposed in this study tracked the user’s position more accurately in both of these cases, with only minor perturbations when large changes (e.g., turns) were generated, allowing precise, stable, highly accurate, and seamless localization.
Figure 13 shows the carrier motion trajectory for navigation simulation. It is evident that the combined navigation scheme proposed in this study can keep the attitude–velocity error at the usual GNSS level with a horizontal velocity error of almost less than 0.05 m/s, even in transition areas and indoor areas with poor GPS signals; thus, the horizontal attitude error was small, and the positioning error was approximately 3 m or less, indicating that maintain the attitude–velocity error could be maintained at the usual level of GPS. Thus, the improved Kalman filtering algorithm with the addition of INS in this study was able to correct the position error and stabilize the error.
In Figure 14, it can be seen that the error of the GPS/INS/IKF localization algorithm was basically within 3.2 m, while the error of the GPS/INS localization algorithm was within 4.9 m, and the INS algorithm’s localization error was basically within 6.9 m. In addition, the localization errors of the three algorithms increased when passing through I/O transition areas, and the use of the INS method produced obvious drift errors, which made it difficult to successfully achieve accurate indoor and outdoor localization. In contrast, the error of the proposed method did not exceed 5.2 m, indicating that a more accurate and stable navigation function can be realized.
Figure 15 shows a comparison of the cumulative distribution curves of the three algorithms. It is evident that there was a 90% probability that the error of the proposed algorithm was within 3.05 m, while the probability that the error of the GPS/INS method was within 3.05 m was 48.07%. That of the INS method was 19.45%, which showed that this method greatly improved the positioning accuracy for indoor/outdoor transition environments and successfully reduced the error. Both the GPS/INS algorithm and the proposed method were able to achieve continuous localization in severely degraded GNSS regions and indoor areas. However, the proposed algorithm had the best localization performance among the three algorithms, and the fused Kalman filter algorithm was improved by combining the relationship between states and observations to mitigate the interference of NLOS, multipath, and fault signals.

4. Conclusions

To accomplish fully precise and seamless indoor and outdoor navigation, a novel approach was suggested by using the salp swarm algorithm in conjunction with improved Kalman filtering in GPS/INS navigation. First, an I/O detection algorithm based on the SSA was proposed. The adaptive function of the SSA was designed, and an adaptive system between biological populations was used to randomly search for the global optimal solution that satisfied the objective function. The conventional fixed threshold was then converted into dynamic switching parameters, and smartphones were used to collect I/O sensor data for testing; then, accurate detection of indoor and outdoor environments was effectively achieved. In outdoor areas, GNSS technology can ensure highly accurate positioning. For transitional or indoor areas with poor GNSS signal quality, INS measurements were used as a complement, with KL divergence being introduced as an augmentation. Continuous localization in indoor and outdoor environments was possible thanks to the collaboration between inertial measurements and various sensors. The experimental results showed that the positioning results of the method proposed in this study were better than those of the traditional combined GPS/INS navigation method and the INS method in continuous indoor and outdoor scenes. The seamless positioning system with the improved Kalman-filtered GPS/INS based on the SSA was verified through field tests and simulations to achieve real-time positioning and provide users with highly reliable and continuous location services. In the future, this method can be applied to driverless vehicles and further optimized for their performance in a wide range of environments in order to further advance navigation technology.

Author Contributions

J.W. was involved in the conceptualization, methodology, and formal analysis of the work. X.D. was involved in the methodology of the work. X.L. and J.L. supported much of the integration of the methodology to support the results. J.X. and J.D. were involved in the formal analysis, as well as the preparation of the manuscript throughout the revision process. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported in part by the National Natural Science Foundation of China under Grant 62205271 and in part by the Key Program for International S&T Cooperation Projects of Shaanxi Province under Grant 2023-GHZD-37.

Data Availability Statement

Publicly available datasets were analyzed in this study. The data can be found here: https://doi.org/10.57760/sciencedb.08355 (accessed on 11 June 2024).

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

AKFAdaptive extended Kalman filter
ANNArtificial neural network
CDFCumulative distribution function
DTDecision tree
GGFGeneral Gaussian filtering
GNSSGlobal navigation satellite system
GBMGradient-boosting machine
I/OIndoor/outdoor
IODIndoor/outdoor detection
IOSIndoor, outdoor, and semi-indoor
INSInertial navigation system
KNNk-nearest neighbor
PPPPrecision point positioning
RMSRoot mean square
RFRandom forest
SSASalp swarm algorithm
SVMSupport vector machines
UWBUltra-wideband
UKFUnscented Kalman filter

References

  1. Lu, D.; Zhang, Y.; Wang, J. Adaptive Delay-Free Filtering Based on IMU for Improving Ship Heave Measurement. Sensors 2023, 23, 9791. [Google Scholar] [CrossRef] [PubMed]
  2. Guo, Y.; Zheng, J.; Di, S.; Xiang, G.; Guo, F. A Beacons Selection Method under Random Interference for Indoor Positioning. Remote Sens. 2022, 14, 4323. [Google Scholar] [CrossRef]
  3. Zhang, C.; Guo, C.; Zhang, D. Data Fusion Based on Adaptive Interacting Multiple Model for GPS/INS Integrated Navigation System. Appl. Sci. 2018, 8, 1682. [Google Scholar] [CrossRef]
  4. Jiang, X.; Liu, T.; Duan, J.; Hou, M. Attitude Algorithm of Gyroscope-Free Strapdown Inertial Navigation System Using Kalman Filter. Micromachines 2024, 15, 346. [Google Scholar] [CrossRef] [PubMed]
  5. El-Sheimy, N.; Abdel-Hamid, W.; Lachapelle, G. An adaptive neurofuzzy model for bridging GPS outages in MEMS-IMU/GPS land vehicle navigation. In Proceedings of the 17th International Technical Meeting of the Satellite Division of the Institute of Navigation, Long Beach, CA, USA, 24 September 2001; pp. 1088–1095. [Google Scholar]
  6. Aggarwal, P.; Bhatt, D.; Devabhaktuni, V.; Bhattacharya, P. Dempster Shafer neural network algorithm for land vehicle navigation application. Inf. Sci. 2013, 253, 26–33. [Google Scholar] [CrossRef]
  7. Xie, H.; Cheng, X.; He, S.; Li, Y.; Pang, J.; Li, S. MF-ANN: A Novel Artificial Neural Network-Based Method for Ocean Wind Speed Retrieval on Spaceborne GNSS-R Signal. IEEE Trans. Geosci. Remote Sens. 2023, 61, 5802617. [Google Scholar] [CrossRef]
  8. Jiang, W.; Cao, Z.; Cai, B.; Li, B.; Wang, J. Indoor and outdoor seamless positioning method using UWB enhanced multi-sensor tightly-coupled integration. IEEE Trans. Veh. 2021, 70, 10633–10645. [Google Scholar] [CrossRef]
  9. Li, Z.; Zhao, L.; Wang, Y.; Yang, Z.; Liu, Z.; Wang, C. Variance optimization of UWB observation based on map matching for PPP/INS/UWB tightly coupled positioning. Meas. Sci. Technol. 2021, 32, 025007. [Google Scholar] [CrossRef]
  10. Wang, D.; Zhang, H. A Multi-Step Pseudo-Measurement Adaptive Kalman Filter Based on Filtering Performance Evaluation and Its Application in the INS/GNSS Navigation System. Remote Sens. 2024, 16, 926. [Google Scholar] [CrossRef]
  11. Tang, Y.; Jiang, J.; Liu, J.; Yan, P.; Tao, Y.; Liu, J. A GRU and AKF-Based Hybrid Algorithm for Improving INS/GNSS Navigation Accuracy during GNSS Outage. Remote Sens. 2022, 14, 752. [Google Scholar] [CrossRef]
  12. Li, Z.; Lee, P.-H.; Hung, T.H.M.; Zhang, G.; Hsu, L.-T. Intelligent Environment-Adaptive GNSS/INS Integrated Positioning with Factor Graph Optimization. Remote Sens. 2024, 16, 181. [Google Scholar] [CrossRef]
  13. Zhao, M.; Zhang, T.; Wang, D. A Novel UWB Positioning Method Based on a Maximum-Correntropy Unscented Kalman Filter. Appl. Sci. 2022, 12, 12735. [Google Scholar] [CrossRef]
  14. Farag, W. Self-Driving Vehicle Localization using Probabilistic Maps and Unscented-Kalman Filters. Int. J. ITS Res. 2022, 20, 623–638. [Google Scholar] [CrossRef]
  15. Hajati, N.; Rezaeizadeh, A. A Wearable Pedestrian Localization and Gait Identification System Using Kalman Filtered Inertial Data. IEEE Trans. Instrum. Meas. 2021, 70, 2507908. [Google Scholar] [CrossRef]
  16. Kim Geok, T.; Zar Aung, K.; Sandar Aung, M.; Thu Soe, M.; Abdaziz, A.; Pao Liew, C.; Hossain, F.; Tso, C.P.; Yong, W.H. Review of Indoor Positioning: Radio Wave Technology. Appl. Sci. 2021, 11, 279. [Google Scholar] [CrossRef]
  17. Huang, J.; Junginger, S.; Liu, H.; Thurow, K. Indoor Positioning Systems of Mobile Robots: A Review. Robotics 2023, 12, 47. [Google Scholar] [CrossRef]
  18. Zhou, P.; Zheng, Y.; Li, Z.; Li, M.; Shen, G. IODetector. A generic service for Indoor Outdoor Detection. In Proceedings of the 10th ACM Conference on Embedded Network Sensor Systems, Toronto, ON, Canada, 6 November 2012; pp. 113–126. [Google Scholar]
  19. Ashraf, I.; Hur, S.; Park, Y. MagIO: Magnetic Field Strength Based Indoor-Outdoor Detection with a Commercial Smartphone. Micromachines 2018, 9, 534. [Google Scholar] [CrossRef]
  20. Mirjalili, S.; Gandomi, A.H.; Mirjalili, S.Z.; Saremi, S.; Faris, H.; Mirjalili, S.M. Salp Swarm Algorithm: A bio-inspired optimizer for engineering design problems. Adv. Eng. Softw. 2017, 114, 163–191. [Google Scholar] [CrossRef]
  21. Wu, X.; Su, Z.; Li, L.; Bai, Z. Improved Adaptive Federated Kalman Filtering for INS/GNSS/VNS Integrated Navigation Algorithm. Appl. Sci. 2023, 13, 5790. [Google Scholar] [CrossRef]
  22. Sun, R.; Zhang, W.; Zheng, J.; Ochieng, W.Y. GNSS/INS Integration with Integrity Monitoring for UAV No-fly Zone Management. Remote Sens. 2020, 12, 524. [Google Scholar] [CrossRef]
  23. Xiao, J.; Li, Y.; Zhang, C.; Zhang, Z. INS/GPS Integrated Navigation for Unmanned Ships Based on EEMD Noise Reduction and SSA-ELM. J. Mar. Sci. Eng. 2022, 10, 1733. [Google Scholar] [CrossRef]
  24. Jiang, H.; Shi, C.; Li, T.; Dong, Y.; Li, Y.; Jing, G. Low-cost GPS/INS integration with accurate measurement modeling using an extended state observer. GPS Solut. 2020, 25, 17. [Google Scholar] [CrossRef]
  25. Li, D.; Jia, X.; Zhao, J. A Novel Hybrid Fusion Algorithm for Low-Cost GPS/INS Integrated Navigation System During GPS Outages. IEEE Access 2020, 8, 53984–53996. [Google Scholar] [CrossRef]
  26. Zhao, Y.; Bi, S.; Zhang, H.; Chen, Z. Dynamic Weight and Mapping Mutation Operation-Based Salp Swarm Algorithm for Global Optimization. Appl. Sci. 2023, 13, 8960. [Google Scholar] [CrossRef]
  27. Bai, Y.B.; Holden, L.; Kealy, A.; Zaminpardaz, S.; Choy, S. A hybrid indoor/outdoor detection approach for smartphone-based seamless positioning. J. Navig. 2022, 75, 4946–4965. [Google Scholar] [CrossRef]
  28. Baştemur Kaya, C. A Novel Hybrid Method Based on the Marine Predators Algorithm and Adaptive Neuro-Fuzzy Inference System for the Identification of Nonlinear Systems. Symmetry 2023, 15, 1765. [Google Scholar] [CrossRef]
  29. Garg, V.; Deep, K.; Alnowibet, K.A.; Zawbaa, H.M.; Mohamed, A.W. Biogeography Based optimization with Salp Swarm optimizer inspired operator for solving non-linear continuous optimization problems. Alex. Eng. J. 2023, 73, 321–341. [Google Scholar] [CrossRef]
  30. Shi, D.; Chu, F.; Cai, Q.; Wang, Z.; Lv, Z.; Wang, J. Research on a Path Tracking Control Strategy for Autonomous Vehicles Based on State Parameter Identification. World Electr. Veh. J. 2024, 15, 295. [Google Scholar] [CrossRef]
  31. Zhao, T.; Wang, C.; Shen, C. Seamless MEMS-INS/Geomagnetic Navigation System Based on Deep-Learning Strong Tracking Square-Root Cubature Kalman Filter. Micromachines 2023, 14, 1935. [Google Scholar] [CrossRef]
  32. Yang, J.L.; Ji, H.B.; Liu, J.M. A Maneuvering Target Tracking Algorithm Based on Gaussian Filter for Multiple Passive Sensors. Key Eng. Mater. 2011, 467–469, 447–452. [Google Scholar] [CrossRef]
  33. Wainwright, M.; Jordan, M.I. Graphical models, exponential families, and variational inference. Found. Trends Mach. Learn. 2008, 1, 1–305. [Google Scholar] [CrossRef]
  34. Bishop, C.M. Pattern Recognition and Machine Learning; Springer: New York, NY, USA, 2006. [Google Scholar]
  35. Paisley, J.; Blei, D.; Jordan, M. Variational Bayesian inference with stochastic search. In Proceedings of the 29th International Conference on Machine Learning, Edinburgh, Scotland, 26 June 2012; pp. 1363–1370. [Google Scholar]
  36. Gultekin, S.; Paisley, J. Nonlinear Kalman Filtering With Divergence Minimization. IEEE Trans. Signal Process. 2017, 65, 6319–6331. [Google Scholar] [CrossRef]
  37. Li, S.; Qin, Z.; Song, H.; Si, C.; Sun, B.; Yang, X.; Zhang, R. A lightweight and aggregated system for indoor/outdoor detection using smart devices. Future Gener. Comp. Sy. 2020, 107, 988–997. [Google Scholar] [CrossRef]
  38. Ali, M.; ElBatt, T. and Youssef, M. SenseIO: Realistic Ubiquitous Indoor Outdoor Detection System Using Smartphones. IEEE Sens. J. 2018, 18, 3684–3693. [Google Scholar] [CrossRef]
Figure 1. Flowchart of the switching algorithm based on optimization with the SSA.
Figure 1. Flowchart of the switching algorithm based on optimization with the SSA.
Remotesensing 16 03511 g001
Figure 2. Improved Kalman filtering algorithm based on Gaussian constraints.
Figure 2. Improved Kalman filtering algorithm based on Gaussian constraints.
Remotesensing 16 03511 g002
Figure 3. Architecture of a seamless indoor–outdoor localization system.
Figure 3. Architecture of a seamless indoor–outdoor localization system.
Remotesensing 16 03511 g003
Figure 4. Classification of the experimental scenarios: (a) outdoor; (b) semi-indoor; (c) indoor.
Figure 4. Classification of the experimental scenarios: (a) outdoor; (b) semi-indoor; (c) indoor.
Remotesensing 16 03511 g004
Figure 5. The fitness function’s search space.
Figure 5. The fitness function’s search space.
Remotesensing 16 03511 g005
Figure 6. Curve of the adaptation function.
Figure 6. Curve of the adaptation function.
Remotesensing 16 03511 g006
Figure 7. Effect of the I/O switching delay.
Figure 7. Effect of the I/O switching delay.
Remotesensing 16 03511 g007
Figure 8. Number of single sensor switches.
Figure 8. Number of single sensor switches.
Remotesensing 16 03511 g008
Figure 9. Single-sensor detection accuracy.
Figure 9. Single-sensor detection accuracy.
Remotesensing 16 03511 g009
Figure 10. Multi-sensor detection accuracy.
Figure 10. Multi-sensor detection accuracy.
Remotesensing 16 03511 g010
Figure 11. Satellite vector positioning diagram.
Figure 11. Satellite vector positioning diagram.
Remotesensing 16 03511 g011
Figure 12. Target motion trajectory tracking diagram.
Figure 12. Target motion trajectory tracking diagram.
Remotesensing 16 03511 g012
Figure 13. Plots of the results for the (a) N-direction velocity error, (b) E-direction velocity error, (c) roll angle error, (d) pitch angle error, (e) yaw angle error, and (f) position error.
Figure 13. Plots of the results for the (a) N-direction velocity error, (b) E-direction velocity error, (c) roll angle error, (d) pitch angle error, (e) yaw angle error, and (f) position error.
Remotesensing 16 03511 g013
Figure 14. Position error of the target.
Figure 14. Position error of the target.
Remotesensing 16 03511 g014
Figure 15. Cumulative distribution curves.
Figure 15. Cumulative distribution curves.
Remotesensing 16 03511 g015
Table 1. Information on data acquisition.
Table 1. Information on data acquisition.
SensorFrequency (Hz)MeasurementPreprocess
GPS1 n u m s a t , s n r GNSS outlier removal
LightUnsteady n u m l Linear interpolation
Magnet50 m x , m y , m z /
Wi-Fi1 n u m ω /
Acc50 a x , a y , a z Coordinate transformation, low-pass filtering, and cubic interpolation
Gyro50 ω x , ω y , ω z
Gravity50 g x , g y , g z
Table 2. Detection accuracy.
Table 2. Detection accuracy.
Android Cell PhonesIndoorOutdoorSemi-Indoor
Xiaomi1099.42%100%91.67%
Honor any0099.71%99.41%92.85%
Xiaomi1399.41%99.42%92.31%
Table 3. Comparison of results for different I/O detection methods.
Table 3. Comparison of results for different I/O detection methods.
IOD ApproachSensors Used for DetectionIndoorOutdoorSemi-IndoorComplexities
[19]Magnetometer85.3%85.3%85.3%Medium
[37]Wi-Fi96.8%92.5%90%Low
[18]Light, magnetometer, cellular90%92%92%High
[38]Light, Wi-Fi, cellular, clocks, etc.92.6%93.74%87.55%Low
ProposedLight, magnetometer, GPS, cellular99.41%99.42%92.31%Medium
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Wang, J.; Dong, X.; Lu, X.; Lu, J.; Xue, J.; Du, J. Salp Swarm Algorithm-Based Kalman Filter for Seamless Multi-Source Fusion Positioning with Global Positioning System/Inertial Navigation System/Smartphones. Remote Sens. 2024, 16, 3511. https://doi.org/10.3390/rs16183511

AMA Style

Wang J, Dong X, Lu X, Lu J, Xue J, Du J. Salp Swarm Algorithm-Based Kalman Filter for Seamless Multi-Source Fusion Positioning with Global Positioning System/Inertial Navigation System/Smartphones. Remote Sensing. 2024; 16(18):3511. https://doi.org/10.3390/rs16183511

Chicago/Turabian Style

Wang, Jin, Xiyi Dong, Xiaochun Lu, Jin Lu, Jian Xue, and Jianbo Du. 2024. "Salp Swarm Algorithm-Based Kalman Filter for Seamless Multi-Source Fusion Positioning with Global Positioning System/Inertial Navigation System/Smartphones" Remote Sensing 16, no. 18: 3511. https://doi.org/10.3390/rs16183511

APA Style

Wang, J., Dong, X., Lu, X., Lu, J., Xue, J., & Du, J. (2024). Salp Swarm Algorithm-Based Kalman Filter for Seamless Multi-Source Fusion Positioning with Global Positioning System/Inertial Navigation System/Smartphones. Remote Sensing, 16(18), 3511. https://doi.org/10.3390/rs16183511

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop