Next Article in Journal
Horizontally Scalable Implementation of a Distributed DBMS Delivering Causal Consistency via the Actor Model
Previous Article in Journal
Isolated Gate Driver for Medium Voltage Applications Using a Single Structure
Previous Article in Special Issue
Fingerprint-Based Localization Enabled by Low-Rank Matrix Reconstruction in Intelligent Reflective Surface-Assisted Networks
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Enhanced WiFi/Pedestrian Dead Reckoning Indoor Localization Using Artemisinin Optimization-Particle Swarm Optimization-Particle Filter

1
School of Computer and Information Engineering, Shanghai Polytechnic University, Shanghai 201209, China
2
School of Electrical and Information Engineering, Tianjin University, Tianjin 300072, China
3
Zhejiang StreamRail Intelligent Control Technology Co., Ltd., Jiaxing 314001, China
4
School of Intelligent Manufacturing and Control Engineering, Shanghai Polytechnic University, Shanghai 201209, China
*
Author to whom correspondence should be addressed.
Electronics 2024, 13(17), 3366; https://doi.org/10.3390/electronics13173366 (registering DOI)
Submission received: 21 July 2024 / Revised: 16 August 2024 / Accepted: 22 August 2024 / Published: 24 August 2024
(This article belongs to the Special Issue New Advances in Navigation and Positioning Systems)

Abstract

:
WiFi fingerprint-based positioning is a method for indoor localization with the advent of widespread deployment of WiFi and the Internet of Things. However, single WiFi fingerprint positioning has the problems of mismatch, unstable signal strength and limited accuracy. Aiming to address these issues, this paper proposes the fusion algorithm combining WiFi and pedestrian dead reckoning (PDR). Firstly, the particle swarm optimization (PSO) model is utilized to optimize the weighted k-nearest neighbors (WKNN) in the WiFi part. Additionally, the artemisinin optimization (AO) algorithm is used to optimize the particle filter (PF) to improve the fusion effect of the WiFi and PDR. Finally, to thoroughly validate the localization performance of the proposed algorithm, we designed experiments involving two scenarios with four smartphone gestures: calling, dangling, handheld, and pocketed. The experimental results unequivocally indicate that the positioning error of AO-PSO-PF algorithm is lower than that of other algorithms including PDR, WiFi, PF, APF, and FPF. The average positioning errors for the two experiments are 0.95 m and 1.42 m, respectively.

1. Introduction

Indoor localization has emerged as an indispensable technology for location-based services (LBSs) in indoor situations such as shopping malls, warehouses, conference centers, and so on [1]. Accurate, reliable, and real-time localization forms the essential foundation for autonomous navigation and task allocation [2]. Studies indicate that individuals typically spend 80% to 90% of their time across various indoor situations [3]. Consequently, people’s demand for indoor positioning is steadily increasing.
In order to achieve reliable indoor locations, indoor localization technology is experiencing increasing development, including RFID [4], WiFi [5], UWB [6], Bluetooth [7], Zigbee [8], ultrasonic [9], and infrared [10] technologies. Due to the extensive deployment of WLAN and wireless access technologies, WiFi has emerged as the predominant solution, favored for its low-cost devices, extensive infrastructure deployment, and relatively high accuracy [11]. WiFi positioning uses a substantial number of already-deployed access points (APs), resulting in its low cost and applicability [12]. In such a positioning system, fingerprint approaches based on received signal strength (RSS) show significant advantages. The RSS fingerprinting-based localization method does not require specific coordinates of the AP or measurement of the angle and distance of the signal receiver, which is feasible in indoor localization [13]. The RSS fingerprinting method is divided into two stages: the offline and online phases [14]. In the offline stage, signal fingerprints are collected systematically to construct a database. In the online stage, these collected signal data are compared with the existing fingerprints in the database to locate the target’s physical location. This fingerprint matching process offers high robustness and stability, making it suitable for various complex environments. This paper optimizes the traditional WKNN algorithm with the PSO model in the online WiFi phase.
Inertial sensors typically include accelerometers and gyroscopes. These sensors measure acceleration and angular velocity, and combined with appropriate algorithms, they can estimate the movement trajectory and position of an object. Pedestrian dead reckoning (PDR) is an inertial navigation technique that relies on the walking characteristics of pedestrians to estimate their position and movement trajectory [15]. It calculates a person’s position by measuring their step count, step length, and direction [16]. However, the integration of acceleration and angular velocity in PDR leads to cumulative errors. Even small measurement errors can accumulate over time, causing the position estimate to gradually deviate from the true location. Given that both WiFi and PDR positioning technologies are implemented on consumer-grade portable mobile devices, their integration has become a prominent area of research. G et al. [17] proposed a three-dimensional indoor localization algorithm based on the unscented Kalman filter (UKF), integrating WiFi fingerprinting and PDR data. ZA et al. [18] designed an extended Kalman filter (EKF) data fusion framework that integrates PDR and WiFi positioning. This method significantly reduces the mean positioning error while also lowering computational costs. Chen et al. [19] proposed a PDR and WiFi fusion algorithm based on the federated particle filter (FPF), which enhances pedestrian navigation accuracy through information sharing. Based on the PDR and WiFi fusion algorithm PF, this paper introduces the AO algorithm to further optimize the PF algorithm.
The key contributions of this study are summarized as follows:
  • Considering the insufficient localization accuracy of the WKNN algorithm in WiFi portion, the PSO model is proposed to leverage the PSO to identify the k closest approximate fingerprints and then utilize WKNN to locate the final position. By transforming the matching problem into a combined optimization and matching problem, we have initially optimized the positioning results for the WiFi portion.
  • We employed an AO algorithm to enhance the performance and effectiveness of the PF algorithm by addressing its particle impoverishment problem.
  • We designed two indoor positioning experiments, incorporating four distinct user postures including calling, dangling, handheld, and pocketed mode. These experiments aim to evaluate the positioning accuracy and performance of various algorithms under different real-world scenarios.
The experiments were conducted in two indoor settings: a laboratory and a corridor within the building, to assess the effectiveness of the proposed localization algorithm. The experimental results show that the WiFi/PDR localization using the AO-PSO-PF algorithm can reduce the average localization error compared to other methods including WiFi, PDR, PF, FPF, and APF.
The structure of the remaining work is organized as follows. Section 2 describes the related work. Section 3 presents the system model including a data filter, WiFi fingerprint database, IDW, PSO, PDR, and AO-PF. Section 4 illustrates the experiment and analysis. Section 5 presents the conclusion.

2. Related Work

Numerous studies have conducted deep investigations into indoor positioning. For RSS fingerprint direction, the first step is to establish a fingerprint database, followed by the application of various classification algorithms for positioning. The channel state information (CSI) provided more fingerprint information than RSS which could improve the positioning accuracy based on the CSI, but CSI only worked with certain wireless network interface cards (NICs), such as the Intel WiFiLink 5300 MIMO NIC Atheros AR9390 or the Atheros AR9580 chipset [20]. Therefore, RSS remains a popular method for practical scenarios.
Various complex algorithms and their variants have been employed to enhance the performance of WiFi-based indoor positioning. Support vector machines (SVMs) [21] are kernel-based classifiers whose use is the common method in WiFi localization. Long short-term memory (LSTM) [22] was proposed as a method for WiFi fingerprinting indoor positioning; this experimental scheme considered the relationship between a series of RSSIs. Seq2seq [23] based on recurrent neural network (RNN) has been used in WiFi indoor positioning. The localization task can be modeled as a sequence learning problem using a recurrent neural network designed for regression outputs. Convolutional neural network (CNN)-based WiFiNet [24] leveraged the power of CNN in classification problem ability. RSS samples were converted into images and used to train the network. Wafa et al. [25] presented a method to improve indoor localization accuracy by utilizing generative adversarial networks (GANs) for data augmentation and semi-supervised learning techniques to effectively train deep neural networks with limited labeled data. Rahul et al. [26] proposed a novel indoor localization technique that leveraged graph neural networks (GNNs) to model the spatial relationships between WiFi access points and enhance positioning accuracy by effectively capturing the topological structure of RSSI data. Qin et al. [27] proposed a robust indoor positioning system that used a combination of a convolutional denoising autoencoder (CDAE) and a CNN to improve the accuracy and noise resistance of WiFi fingerprint localization. Machine learning and deep learning methods in the field of WiFi indoor positioning faces challenges such as data dependency, model generalization, difficulty in obtaining labeled data, and feature extraction, affecting their application across different environments. However, with ongoing advancements and improvements in model architectures, these methods hold the potential to become highly effective solutions for indoor positioning in the future. The standard PSO method, applied to indoor fingerprint positioning, demonstrated significantly better positioning results than the WKNN method [28]. The authors presented an enhanced indoor localization method that applied a modified particle swarm optimization algorithm to improve the accuracy and reliability of WiFi-based positioning in 3GPP indoor office environments [29]. Building on this foundation, we propose the optimized PSO model to optimize the WKNN in the WiFi portion, obtaining a preliminary positioning result.
PDR is a positioning method that utilizes inertial sensors to leverage data from a person’s gait for accurate location tracking. It primarily consists of three components: step detection, stride length estimation, and attitude estimation. Gait detection involves two methods: peak detection and zero-crossing detection. This paper employs the zero-crossing detection method, specifically the zero-velocity update (ZUPT) [30] technique. Ran et al. [31] proposed a real-time tracking system using an adaptive ZUPT method to enhance PDR accuracy. Da et al. [32] proposed a WiFi/PDR fusion method using neural networks, leveraging the back-propagation (BP) neural network’s nonlinear mapping to correct EKF approximation errors. Lin et al. [33] utilized the PF to integrate WiFi, PDR, and indoor maps including wall line and corner information. Ritesh et al. proposed a novel indoor localization algorithm called H2LWRF-PDR, which combined WiFi fingerprint and PDR. The method first used the HDBSCAN clustering algorithm to remove outliers from the training dataset. After noise removal, the random forest (RF) algorithm was used to extract features to learn patterns and classify cluster values accordingly. In the online phase, the lowess filter was applied to smooth the test dataset.

3. System Model

In this study, we propose the optimization of indoor positioning systems by integrating WiFi and PDR techniques using three different particle algorithms including the PSO, PF, and AO algorithms.
The processing of the WiFi part includes two stages: offline and online. In the offline stage, the smartphone collects WiFi indoor signals based on reference points (RPs), which serve as fingerprint information. At RP positions, individuals collect WiFi signals from n access points and measure the received signal strength indicator (RSSI) values. The collected data are then preprocessed using a data filter. During this phase, a WiFi fingerprint database is established. The data are interpolated, and the fingerprint database is expanded using the inverse distance weighting (IDW) algorithm. In the online stage, the user moves within the indoor environment while their smartphone collects WiFi signals with corresponding RSSI values from multiple access points. The collected data are transmitted to the server for further processing and analysis. The RSSI information is first preprocessed by the data filter program, after which the PSO model is used to obtain an initial positioning result by going through the stages of initialization, IDW, fitness calculation, particle sorting, and WKNN.
Additionally, PDR is employed to estimate the pedestrian’s position. Accelerometer data are collected to measure acceleration, with a zero-velocity update (ZUPT) triggered upon detecting a zero-velocity point. Gyroscope data are gathered to obtain angular velocity. Step length and direction are estimated based on the acceleration and angular velocity data. The EKF is used for state estimation and error correction.
Finally, the positioning data from WiFi and PDR part are fused using the AO-PF algorithm to obtain the final positioning result. First, the particle filter is initialized, and then, the state equation is generated using the PDR data. The observation equation is then generated based on the results of the PSO model in WiFi. The PF can generate N particles and then generate N new particles through the AO algorithm to reduce the risk of particle impoverishment. Then, the weights are updated based on all the particles, and finally, resampling is performed to complete the positioning. The flowchart of the AO-PSO-PF positioning algorithm is shown in Figure 1.

3.1. Data Filter

Indoor localization involves the collection of a large amount of data, including invalid data which need to be filtered. The data filter procedure consists of reading data.
The process of reading data consists of opening a specified file, reading the contents of the file line by line and storing them in a list. Lines in the data file starting with a specific identifier are recognized as position and WiFi data and are converted to a list of floating-point numbers or strings accordingly. Finally, the data are converted into an array and stored in a dictionary.

3.2. WiFi Fingerprint Database

The database containing locations and RSS is established in the offline phase. The walkthrough method has been recognized as a time and cost-effective approach to construct a fingerprint database, enhancing efficiency while reducing redundancy [34]. As depicted in Figure 2, reference points are initially set within the test area, spaced approximately 2 to 4 m apart. A laser range finder is then used to measure the 2D coordinates of these points. During the walkthrough, both the duration of the walk and the RSS fingerprint data are recorded at each RP [35]. Finally, fingerprints of other locations are obtained using interpolation.
WiFi RSS update rates for Android smartphones are typically low, such as the Samsung S9+ with an update rate of 0.2 Hz. During the survey, when the surveyor reaches the reference point, they press a button to record the time. Subsequently, the WiFi fingerprint closest to the recorded time is selected as the reference point fingerprint. Below is the WiFi fingerprint for the i-th reference point [35].
W i = p o s i , m a c i , 1 , R S S i , 1 , m a c i , 2 , R S S i , 2 , m a c i , j , R S S i , j , , m a c i , m , R S S i , m
where p o s i is the i-th reference point’s 2D coordinate, and the media access control address and RSS of the j-th AP at the i-th reference point are denoted as m a c i , j and R S S i , j , respectively. Additionally, m denotes the number of available APs at the i-th reference point [35].

3.3. IDW Interpolation Method

Smartphones consume considerable power during WiFi scanning, necessitating limitations on scanning frequency due to battery constraints. Manufacturers adjust sampling frequencies accordingly; for instance, the Mi 5 and Nexus 5 have frequencies of 0.125 Hz and 0.5 Hz, respectively [36]. To address the challenge posed by low sampling frequencies, an effective strategy is to utilize interpolation methods.
The fingerprint database is calculated based on the average RSS measured at the i-th position. As the number of positions sampled (N) increases, the amount of data that needs to be collected increases. Gathering a substantial volume of WiFi RSS data is a time-intensive and labor-intensive process. To alleviate this burden, IDW interpolation is employed to expand the WiFi RSS database [37]. RSS interpolation is calculated as follows.
R S S i n t e r p = i = 1 k ( 1 d i · R S S i ) i = 1 k 1 d i
where R S S i n t e r p is the interpolated RSS value at a specific location for which the actual RSS value is unknown, d i represents the distance from the i-th known point to the location where the RSS value is being interpolated, and R S S i is the known RSS value at the i-th location. The following Equation (3) is the definition of d i .
d i = ( x t a r g e t i x b a s e ) 2 + ( y t a r g e t i y b a s e ) 2
where d i denotes the distance between the i-th known location and the target location for which the RSS value is being interpolated, x t a r g e t i and y t a r g e t i represent the x- and y-coordinates of the target, x b a s e and y b a s e denote the x- and y-coordinates of the database, respectively.
As shown in Figure 3, IDW interpolates not only the vicinity of RP in the fingerprint database but also the vicinity generated by PSO particles. As a result, the fingerprint database becomes denser and cover areas where fingerprints were not measured.

3.4. PSO Model Review

In WiFi indoor positioning, the user’s location is initially unknown, and positioning needs to be performed within a designated area. This concept is similar to the idea behind PSO particle optimization [29]. PSO particles correspond to the physical coordinates of WiFi indoor positioning, representing particle coordinates. PSO initializes particles randomly within a designated area, iteratively optimizes them based on a fitness function, and seeks both personal and global best particle coordinates [28]. Through the continuous iteration of particle optimization, it gradually converges to the best k particle coordinates. Finally, the WKNN algorithm is employed to determine the final positioning coordinates.

3.4.1. Particle Initialization and Particle Generation

In WiFi indoor positioning, each particle’s personal best position (pbest) is determined by evaluating the distance between the particle and the target. Then, the global best position (gbest) is calculated. Particle positions are updated using the PSO update equation, which incorporates the current position, velocity, and differences between the current position, pbest, and gbest. The following Formula (4) is the definition of pbest.
p i ( t + 1 ) = p i ( t )             ,     i f   F ( x i ( t ) , y i ( t ) ) F ( p i t ) x i t , y i t ,     o t h e r w i s e
where p i ( t + 1 ) denotes personal best position of the i-th particle after the (t + 1)-th iteration, p i ( t ) refers to the personal best position of the i-th particle at the t-th iteration, F ( x i ( t ) , y i ( t ) ) refers to the fitness value of the i-th particle at its position ( x i ( t ) , y i ( t ) ) during the t-th iteration, F ( p i t ) denotes the fitness value of the personal best position of the i-th particle at the t-th iteration, and ( x i t , y i t ) denotes the coordinates of the i-th particle at the t-th iteration. This formula implies that if the current position of the i-th particle is better (i.e., has a lower fitness value) than its previous personal best, then its pbest is to be updated to this current position; otherwise, the pbest is kept unchanged. The gbest is calculated with Equation (5) below.
g ( t + 1 ) = min p 1 t + 1 , p 2 t + 1 , ,   p n t + 1
where g ( t + 1 ) denotes the global best position identified after the (t + 1)-th iteration, min denotes selecting the smallest item from a set of candidates within the brackets, p 1 t + 1 , p 2 t + 1 , ,   p n t + 1 are the personal best positions found by each particle for itself after the (t + 1)-th iteration. In the WiFi positioning area, the PSO equation is illustrated as Formula (6).
x n e w y n e w = x y + ω · v + c 1 · r 1 · p x y + c 2 · r 2 · g x y ,
where x n e w y n e w T denotes the new position of the particle which is the updated position aimed at getting closer to the optimal solution of the problem,   x y T denotes the current position of the particle, ω denotes the inertia coefficient that helps to maintain momentum, v denotes a 2 × 1 array containing uniformly distributed random numbers between 0 and 1, c1 and c2 indicate coefficients for the cognitive (personal best) and social (global best) components, r1 and r2 indicate random numbers for each dimension, p denotes the personal best position, and g denotes the global best position.

3.4.2. Fitness Calculation by MDTW

In WiFi fingerprint positioning, the fitness function measures the distance between the RSS value of the particle and the RSS value of the reference point in the fingerprint database. The definition of fitness in WiFi positioning is provided in Formula (7).
F = 1 n i = 1 n d ( R S S c u r r e n t ,   R S S d b i )
where 1/n is a normalization factor used to calculate the average value, n represents the number of RSS values in the database, d ( R S S c u r r e n t ,   R S S d b i ) refers to distance between the i-th WiFi signal in the database and the current WiFi signal calculated using the MDTW algorithm [36], R S S c u r r e n t refers to the current received RSS being evaluated during the optimization process, and R S S d b i represents the RSS of the i-th signal in the database.

3.4.3. Particle Sorting

Particle optimization begins through the generation of n random particle coordinates, from which the coordinates of the top k particles are preserved as the superior set. A new set of n particle coordinates is then synthesized for subsequent comparison against the prior set on a one-to-one basis utilizing a fitness function.
This methodology involves the preservation of coordinates for the leading k particles, distinguished by their superior fitness values. After m iterations, the process culminates in the retention of the k particle coordinates that exhibit the closest proximity to the designated target position. A PSO optimization schematic is shown in Figure 4. In Figure 4a, PSO particles which are labeled in blue are scattered in the region. The three particles closest to the target are labeled in green. The target position is labeled in red. In Figure 4b, the PSO particles are updated, and one particle is closer to the target location than one of the previous particles, so this particle replaces it as the optimal particle, and the replaced one is labeled in yellow. In Figure 4c, a new particle also replaces one of the previous particles. Finally, in Figure 4d, with the continuous iteration of particles, three optimal green particles are finally retained, which is the complete process of particle screening. In the actual process, the optimal number of particles, k, can set to other values. In the particle sorting procedure, k is set to 3.

3.4.4. WKNN in PSO Model

In the PSO model, the WKNN algorithm serves as the final stage. This algorithm assigns weights to the coordinates of the k-nearest particles that are closest to the target. Subsequently, these optimally positioned coordinates of the k particles are utilized for the final positioning to determine the physical coordinates of the user being located. Formula (8) presents the physical coordinates determined via the PSO algorithm.
x ^ P S O , y ^ P S O = u = 1 k 1 D ( x u , y u ) u = 1 k 1 D
where k is the number of particle coordinates selected based on the PSO optimization performance, k takes the value of 3, D is the distance from the particle to the target location, ( x u , y u ) represents the coordinate of the u-th particle, and x ^ P S O , y ^ P S O is the final estimated positioning coordinate calculated using the PSO algorithm.

3.4.5. PSO Procedure Summary

The following uses flow charts and algorithm codes to better present the procedure of PSO and provide an effective supplement. Figure 5 shows the flow chart of PSO. The PSO algorithm is shown in Algorithm 1:
Algorithm 1. PSO
Input: The measured signal R S S and signal R S S d b and position coordinates x_db
1. Particle initialization and parameter setting
2. iterations = 10
3. n = 50 (number of particles)
4. omega = 0.01 (inertia weight)
5. v = Random 2 × 1 vector
6. c1 = 0.01 (cognitive coefficient)
7. c2 = 0.01 (social coefficient)
8. r1, r2 = Random numbers between 0 and 1
9. kk = 3 (Number of nearest neighbors in WKNN)
10. Initialize particles with random positions and velocities.
11. Set initial global and personal bests based on initial distances computed by fitness
12.  For k = 1 to iters do:
13.   For each particle i = 1 to n do:
14.    Update particle velocity and position using PSO formula:
15.     x n e w y n e w = x y + ω · v + c 1 · r 1 · p b e s t x y + c 2 · r 2 · g b e s t x y
16.    Apply interpolation to the RSS values at new positions using IDW.
17.    Compute new distances using fitness and update personal and global bests.
18. Calculate weights for WKNN
19. Compute distances for top kk-nearest neighbors using the updated R S S d b .
20. Calculate weights inversely proportional to distances.
21. Estimate location using a weighted sum of the top kk nearest locations.
22. Output: PSO_res.

3.4.6. The Difference between PSO and WKNN

The WKNN algorithm is a common positioning matching method, but its matching references are all similar fingerprints in the fingerprint database. These fingerprints need to be collected manually. The PSO algorithm used in this study matches the particle coordinates generated by PSO as the reference during the positioning process, which reduces the stringent requirements for fingerprint collection, and accurate positioning can be completed even if the positioning area is not completely covered by references. The difference between PSO and WKNN is illustrated in Figure 6. As shown in Figure 6a, the k positioning points of the traditional WKNN positioning reference are all dependent on points in the fingerprint database. Since the reference points of the fingerprint database do not cover all areas, the localization may be less accurate in some regions. As illustrated in Figure 6b, the k positioning points of the PSO algorithm are all generated by PSO. These k positioning points can cover all areas, and the positioning accuracy is improved compared to WKNN. The particles generated by the PSO model can cover a denser area compared to the directly sampled fingerprints used in traditional WKNN. This denser coverage allows the PSO model to achieve a more accurate preliminary positioning result.

3.5. PDR Review

3.5.1. EKF

In the domain of PDR, the extended Kalman filter (EKF) is extensively employed for state estimation and error correction [19].
δ X k = F k 1 · δ X k 1 + ω k 1
δ Z k = H k · δ X k + v k
where δ X k denotes the state error vector—typically including position, velocity, and attitude angles—at time k, F k 1 represents the state transition matrix, describing the system dynamics from time k−1 to time k, δ X k 1 represents the state error vector at the previous time k−1, ω k 1 denotes the process noise vector, representing the uncertainties introduced during the state transition, δ Z k denotes the observation error vector at time k, H k denotes the observation matrix, mapping the state space to the observation space, δ X k denotes the state error vector at time k, as defined in the state prediction equation, and v k represents the observation noise vector, representing the uncertainties introduced during the observation process.

3.5.2. Step Length

To calculate the step length, we first determine the vertical displacement by double-integrating the vertical acceleration. The step length is then calculated using the inverted-pendulum model.
S V D = t 1 t 2 t 1 t 2 a z t d t d t
where S V D represents the vertical displacement of the pedestrian’s body during a step, a z t denotes vertical acceleration as a function of time measured by the accelerometer along the vertical axis (z-axis), and t1 and t2 represent start and end times of the double-integration interval.
D S L = 2 L 2 ( L S V D ) 2
where D S L denotes the step length representing the horizontal distance covered by a pedestrian in one step, L denotes the height from the ground to the smartphone. Figure 7 below is a step length diagram that visually illustrates the calculation method for step length.

3.5.3. Heading

The heading section primarily updates the pedestrian’s orientation and direction using angular velocity information captured by the gyroscope. The quaternion approach is used to update the angle increment. The quaternion vector at the (k + 1)-th epoch is expressed as follows.
q k + 1 = I · c o s θ k 2 + Θ · s i n θ k 2 θ k · q k
where q k + 1 is the state vector at the (k + 1)-th epoch, θ k represents the angular increment at the k-th epoch, I is the identity matrix of the same dimension as q k , and Θ is a matrix representing the angular increments in the x-, y-, and z-axes at the k-th epoch.
The following formula converts a quaternion into a direction cosine matrix (DCM). The DCM C b n is used to describe the rotation relationship from one coordinate system (body coordinate system b) to another coordinate system (navigation coordinate system n).
C b n = q 1 2 q 2 2 q 3 2 + q 4 2 2 q 1 q 2 2 q 3 q 4 2 q 1 q 3 + 2 q 2 q 4 2 q 1 q 2 + 2 q 3 q 4 q 1 2 + q 2 2 q 3 2 + q 4 2 2 q 2 q 3 2 q 1 q 4 2 q 1 q 3 2 q 2 q 4 2 q 2 q 3 + 2 q 1 q 4 q 1 2 q 2 2 + q 3 2 + q 4 2
The three following formulas are used to calculate the attitude angles: pitch, roll, and yaw. These angles are derived from specific elements of the direction cosine matrix C b n .
ϑ = a r c t a n C b n ( 3,1 ) ( C b n ( 3,1 ) ) 2
= a r c t a n C b n ( 3,2 ) C b n ( 3,3 )
φ = a r c t a n C b n ( 2,1 ) C b n ( 1,1 )
where ϑ denotes pitch, represents roll, and φ is the yaw.

3.5.4. PDR

PDR calculates the pedestrian’s position at the next time step using the current position information, step length, and walking direction.
x k + 1 y k + 1 = x k y k + D S L c o s φ s i n φ
where x k + 1 y k + 1 denotes the updated position coordinates at k + 1 epoch, x k y k denotes the position coordinates at the current k epoch, and c o s φ s i n φ represents direction cosines corresponding to the heading angle φ.

3.6. AO-PF Fusion Algorithm

3.6.1. AO Algorithm

The artemisinin optimization (AO) algorithm [38] is a novel metaheuristic algorithm inspired by the artemisinin treatment process for malaria. It simulates the diffusion, concentration changes, and elimination of artemisinin in the human body. The algorithm comprises four main stages: initialization, comprehensive elimination, local elimination, and post-consolidation.
First, the AO algorithm performs initialization, simulating the injection of artemisinin into the human body. The drug’s microparticles are likened to the search agents in the algorithm. The collection of these search agents constitutes the solution set of the algorithm. X represents the entire drug population after initialization, where N denotes the number of search agents and D denotes the multi-dimensional components within each search agent, indicating the dimension of the matrix.
X N , D = B + R × T B = x 1,1 x 1,2 x 2,1 x 2,2 x 1 , D x 2 , D x N , 1 x N , 2 x N , D
where T and B represent the boundaries of the solution space, and R represents a random number between 0 and 1.
Next is the comprehensive elimination stage. The strategy for this stage is shown in the following equation:
x i , j t + 1 = x i , j t + c × x i , j t × ( 1 ) t , r a n d < 0.5 x i , j t + 1 = x i , j t + c × b e s t j t × ( 1 ) t , r a n d > 0.5 , r 1 < K
where K = 1 f 1 / 6 M a x f 1 / 6 is the probability coefficient, c = 1 × e ( 4 × f M a x f ) represents the attenuation index of artemisinin in the human body, f and maxf represent the current and maximum number of iterations, and the variable r1 is a random number uniformly distributed in the range [0, 1].
The next phase is the local elimination stage, aimed at eliminating residual malaria parasites.
x i t + 1 = x b 3 t + d × x b 1 t x b 2 t , i f   r a n d < F i t n o r m ( i )
F i t n o r m i = f i t i m i n ( f i t ) max f i t m i n ( f i t )
b 1 , b 2 , b 3 ~ U 1 , N , b 1 b 2 b 3
where F i t n o r m i represents the normalized fitness value, d denotes a random value between 0.1 and 0.6, and b 1 , b 2 , b 3 represent the indexes of three randomly selected search agents, which are uniformly distributed.
The final phase is post-consolidation. Consolidation treatment of dormant malaria parasites is needed. The equation is as follows. If rand is less than 0.05, the search agent’s position remains unchanged; if rand is less than 0.2, the search agent’s position is updated to the corresponding dimension value of the current optimal solution.
x i , j t + 1 = x i , j t , i f   r a n d < 0.05 x i , j t + 1 = b e s t i , j , i f   r a n d < 0.2
where b e s t i , j represents the value of the best-performing individual in the j-th dimension within the current population, found in the i-th search agent, and rand is a random number uniformly distributed in the interval [0, 1].
AO introduces a global search mechanism, enhancing the diversity of particles. By optimizing particle positions using AO, the algorithm ensures that particles explore a broader state space, reducing the risk of particle impoverishment. AO adjusts particle weights based on their fitness, which is determined by the match between particle states and observed data. This helps maintain a set of particles that more accurately represent the true state.

3.6.2. AO-PF Utilized in WiFi/PDR Fusion

For the AO-PF fusion method, initialization is first performed, and then, the following observation equation is calculated.
(1)
Equation of State
The following state equation is obtained based on the PDR heading angle and position update coordinates.
X k = H k x k y k = H k 1 x k 1 y k 1 + H k 1 S L k c o s ( H k ) S L k s i n ( H k ) + W H , k 1 W x , k 1 W y , k 1
where H k denotes the heading at k epoch, x k     a n d   y k denote the coordinates of the PDR part at k epoch, and W is the normally distributed noise.
(2)
Observation Equation
Z w i f i , k = x w i f i P S O y w i f i P S O + v x v y
where Z k represents the observed position at k epoch, x w i f i P S O y w i f i P S O denotes the position coordinates obtained by the PSO model for the WiFi portion, including both the x-coordinate and the y-coordinate, and v x v y is typically modeled as Gaussian noise representing the noise component affecting the x-coordinate and y-coordinate measurement.
(3)
AO Algorithm Generates New Particles
The AO algorithm reduces the problem of particle impoverishment by adding new particles. The way AO generates particles can be referred to in the previous Formulas (19)–(24), which are also divided into four steps (initialization, comprehensive elimination, local elimination, and post-consolidation). In order to prevent particles from escaping the boundary, a new step 5 is added, which is the boundary check step. The formula of the boundary check step is as follows:
z j = z j ,                                   i f   l b z j u b b e s t j ,               i f   z j < l b   o r     z j > u b
where z j denotes the variable that needs to have its bounds checked, lb and ub represent lower boundary and upper boundary, respectively, and b e s t j is the value of the corresponding dimension j in the current optimal solution.
In this AO algorithm, fitness will use the following formula:
f i t n e s s = X A O Y A O Z w i f i , k
where X A O Y A O is the current solution obtained by the AO algorithm, representing the position vector of a particle, Z w i f i , k is the WiFi observation at k epoch, and ∥⋅∥ denotes the Euclidean distance.
After the particles have gone through these five stages, their positions are updated. These updated particles are then merged with the particles generated by the PF, forming a new particle set.
(4)
Weight Update
The following formula describes the weight calculation process of each particle in the particle filter. Specifically, it is based on the likelihood estimation of the Gaussian distribution.
ω k i = 1 | R | · 2 π e [ Z k h x k i ] T R 1 [ Z k h x k i ]
where R = 0.3 0 0 0.3 denotes the measurement noise covariance matrix.
Then, the weights are normalized to obtain the following formula.
ω ~ k i = ω k i i = 1 N ω k i
(5)
Resampling
Then, the particles are resampled based on the accumulated weights.
x i k + 1 = x j k     ( j = m i n j | c j u i )
where c j = n = 1 j ω ~ n k denotes the cumulative weight, and u i represents a random number between 0 and 1.
Finally, the final positioning is performed by calculating the average value of the resampled particles through state estimation.
(6)
The Effectiveness of AO
By introducing AO particles, we enhance the particle set diversity, enabling a more comprehensive exploration of the state space. The resampling process with AO particles improves coverage of the true posterior distribution, mitigating the issue of traditional particle filters converging on local optima. Inspired by biological processes, the AO-PF framework employs controlled randomness and strategic mutation to maintain a dynamic and adaptive particle set. This enhances the algorithm’s ability to adapt to changes in the localized system, thereby improving the accuracy of state estimation for indoor localization. Figure 8 shows how AO particles improve coverage and distribution uniformity in the AO-PF framework, ensuring that particles better represent the actual distribution. This approach preserves particle diversity and mitigates particle impoverishment, thereby enhancing positioning accuracy.

4. Experiment and Analysis

This section provides a comprehensive description of the experimental data and their analysis, offering intricate details. To validate the feasibility of the AO-PSO-PF algorithm, we used Honor 50 and Nexus 5X to conduct training and positioning in different scenarios (Honor 50 is used in the offline stage, while Nexus 5X is used in the online stage). According to ISO/IEC 18305 [40], we selected two scenarios to test the AO-PSO-PF algorithm.

4.1. Experimental Setup

The purpose of the experiment is to verify the effectiveness of the AO-PSO-PF algorithm. The algorithm’s applicability to different indoor environments is tested through experiments conducted in two indoor scenarios. The hardware is Honor 50 and Nexus 5X, and the software is GetSensorData 2.0.

4.2. Experimental Process

In the offline stage, the surveyor carries an Honor 50 mobile phone and collects fingerprints at the experimental location in order to construct the WiFi fingerprint reference database. The surveyor collects the first point at the starting point and then collects a point every 3–10 m stay at each point for 5 s. The path is along the predetermined path to collect data. Once the data are collected, they are imported into the database for further processing. In the online stage, the surveyor carries a Nexus 5X to collect the data including acceleration, angular velocity, and WiFi data. Smartphone modes during the positioning procedure include calling, dangling, handheld, and pocketed [34]. The scenarios and actual trajectories of the two experiments are shown in Figure 9 below. The parameters of the experiments are shown in Table 1. The diagram illustrating the four smartphone motions is shown in Figure 10 [41]. The components of the mobile phone are shown in Table 2 below. Figure 11 illustrates the impact of the AO algorithm in AO-PF, highlighting the differences in particle distribution and weights before and after applying AO. In Figure 11a, before AO optimization at step k = 100, the particles are concentrated in the center but have scattered, uneven weights. Many particles have low weights, contributing minimally to the posterior distribution, which can reduce accuracy and lead to particle impoverishment in complex or nonlinear navigation environments. In contrast, Figure 11b shows that after optimization by the AO algorithm, it is evident that as the number of low-weight particles decreases, the total number of particles remains unchanged, leading to an increase in the number of high-weight particles. In particle filtering, higher weights increase the likelihood of particles being selected in subsequent iterations, which in turn increases the value of the particles [42]. This demonstrates that the AO algorithm enhances location estimation accuracy by adjusting particle weights and increasing the proportion of high-quality particles.

4.3. Experiment Result

4.3.1. The Result of the First Experiment

The first experiment was conducted in the laboratory. There were five AP signals covered in the laboratory. The results of AO-PSO-PF, federated particle filter (FPF) [19], PDR, and WiFi of the indoor positioning in the first experiment are shown in Figure 12, Figure 13, Figure 14, Figure 15, Figure 16 and Figure 17, which show the positioning paths, positioning errors and positioning cumulative distribution function (CDF) values, respectively. In this experiment, the WiFi results are optimized using the PSO model.
The AO-PSO-PF algorithm demonstrates significant improvements across all motion modes compared to the PDR, WiFi, and FPF algorithms. It achieves the lowest values in average error (AE), root-mean-square error (RMSE), maximum error (ME), circular error probable (CEP) of 75%, and CEP of 95%, showcasing its superior positioning accuracy. Specifically, it reduces the AE by 86.9% compared to PDR, 15.2% compared to WiFi, and 20.2% compared to FPF. The RMSE is reduced by 86.9% compared to PDR, 11.1% compared to WiFi, and 15.3% compared to FPF. The ME is reduced by 85.5% compared to PDR, 11.1% compared to WiFi, and 19.5% compared to FPF. Additionally, the CEP of 75% is reduced by 86.3% compared to PDR, 9.3% compared to WiFi, and 7.4% compared to FPF, while the CEP of 95% is reduced by 85.3% compared to PDR, 13.2% compared to WiFi, and 20.3% compared to FPF. The detailed data for Experiment 1 are presented in Table 3.

4.3.2. The Result of the Second Experiment

The second experiment was conducted in the corridor of the office building, where 10 AP signals were covered. Hu et al. [43] proposed an adaptive particle filter (APF) to enhance the PF for indoor positioning. AO-PSO-PF is the algorithm proposed in this paper. The results of the AO-PSO-PF algorithm and other algorithms for indoor positioning in the second experiment are displayed in Figure 18, Figure 19, Figure 20, Figure 21, Figure 22 and Figure 23. These figures, respectively, illustrate the positioning path, positioning error, and the CDF values for PDR, PF, APF, and AO-PSO-PF. The AO-PSO-PF algorithm consistently outperforms the PDR, PF, and APF algorithms across all metrics (AE, RMSE, ME, CEP of 75%, and CEP of 95%) in the second experiment. The AO-PSO-PF algorithm shows significant improvements across several metrics in the general mode. The AE is reduced by 92.52% compared to PDR, 15.98% compared to PF, and 53.59% compared to APF. The RMSE improves by 91.66% over PDR, 16.52% over PF, and 53.84% over APF. The ME is reduced by 89.10% compared to PDR, 14.44% compared to PF, and 57.54% compared to APF. The CEP of 75% achieves improvements of 92.29% over PDR, 23.77% over PF, and 48.07% over APF. Lastly, the CEP of 95% shows enhancements of 90.34% over PDR, 15.63% over PF, and 53.88% over APF. These results demonstrate the effectiveness of the AO-PSO-PF algorithm in improving positioning accuracy and significantly reducing errors across various metrics. The detailed data for Experiment 2 are presented in Table 4. Table 5 below highlights the robustness and adaptability of the AO-PSO-PF algorithm across five users with four motions. It reflects the algorithm’s capacity to maintain low AE values, ensuring reliable performance in real-world applications.

4.4. Experiment Analysis

Based on the results of the two experiments, an experimental analysis was conducted. Figure 24 below demonstrates the AO-PSO-PF algorithm’s superior performance in minimizing errors and enhancing positioning accuracy across various metrics compared to the WiFi, FPF, and PDR algorithms in the first experiment. Figure 25 below highlights the AO-PSO-PF algorithm as the most effective in minimizing errors and enhancing positioning accuracy across all metrics in the second experiment. It consistently outperforms PF, APF, and PDR, demonstrating its superiority in achieving precise and reliable position estimation. It is evident that the AO-PSO-PF algorithm outperforms other algorithms (WiFi, PDR, PF, APF, and FPF) as a positioning algorithm.

5. Conclusions

A novel AO-PSO-PF algorithm is proposed for location estimation, incorporating multiple steps to enhance positioning accuracy. First, PSO model is employed to obtain the preliminary positioning result of the WiFi part. The AO algorithm is applied to optimize the PF to integrate WiFi and PDR, thereby achieving precise indoor localization. Two experiments were conducted to compare the positioning performance of AO-PSO-PF with other algorithms including PDR, WiFi, PF, APF, and FPF. The results demonstrate that AO-PSO-PF outperforms the others, with average localization errors of 0.95 m and 1.42 m in the two experiments, respectively. Furthermore, the AO-PSO-PF algorithm exhibits robustness and adaptability across five users with four different motions, consistently maintaining low AE values and ensuring reliable performance in real-world applications.
Nevertheless, there are some certain limitations that need to be approached in our future work. First, the resulting path is not sufficiently smooth. This issue may be attributed to multiple iterations of particle optimization, which increase the randomness of the particles and introduce some noisy particles. Future research could consider incorporating map information to constrain the particle movement area, thereby generating smoother positioning trajectories. Additionally, in more complex indoor scenarios with intricate pathways, the effectiveness of traditional algorithms may decline. In the future, DNN algorithms could be employed for further research in indoor positioning. Therefore, further validation is required to explore more solutions for practical indoor positioning challenges.

Author Contributions

Conceptualization, Z.L. and J.C.; methodology, Z.L. and S.S.; software, Z.L. and J.C.; validation, Z.L., S.S. and C.H.; formal analysis, Z.L.; investigation, Z.L.; resources, S.S. and J.C.; data curation, Z.L.; writing—original draft preparation, Z.L.; writing—review and editing, J.C. and C.H.; visualization, Z.L.; supervision, S.S.; project administration, S.S. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by Grants 2023AY31004, the Research Project of Jiaxing Civil Technology Innovation Research, Central Guidance on Local Science and Technology Development Fund of ShanXi Province under Grant YDZJSX20231D005, and Innovative Education Special Project for Intelligent Navigation Applications in 2023 under Grant 2023BD022.

Data Availability Statement

The data presented in this study are available on request from the corresponding author.

Acknowledgments

The authors sincerely thank Qu Wang for providing assistance in revising the manuscript, especially in aspects such as writing, review, and editing.

Conflicts of Interest

Author Jian Chen was employed by the company Zhejiang StreamRail Intelligent Control Technology Co., Ltd. The remaining authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.

References

  1. Zafari, F.; Gkelias, A.; Leung, K.K. A survey of indoor localization systems and technologies. IEEE Commun. Surv. Tutor. 2019, 21, 2568–2599. [Google Scholar] [CrossRef]
  2. Sun, W.; Xue, M.; Yu, H.; Tang, H.; Lin, A. Augmentation of fingerprints for indoor WiFi localization based on Gaussian process regression. IEEE Trans. Veh. Technol. 2018, 67, 10896–10905. [Google Scholar] [CrossRef]
  3. Jung, C.-C.; Hsu, N.-Y.; Su, H.-J. Temporal and spatial variations in IAQ and its association with building characteristics and human activities in tropical and subtropical areas. Build. Environ. 2019, 163, 106249. [Google Scholar] [CrossRef]
  4. Xu, J.; Li, Z.; Zhang, K.; Yang, J.; Gao, N.; Zhang, Z.; Meng, Z. The principle, methods and recent progress in RFID positioning techniques: A review. IEEE J. Radio Freq. Identif. 2023, 7, 50–63. [Google Scholar] [CrossRef]
  5. Zhao, Z.; Lou, Z.; Wang, R.; Li, Q.; Xu, X. I-WKNN: Fast-speed and high-accuracy WIFI positioning for intelligent sports stadiums. Comput. Electr. Eng. 2022, 98, 107619. [Google Scholar] [CrossRef]
  6. Kim, D.-H.; Farhad, A.; Pyun, J.-Y. UWB positioning system based on LSTM classification with mitigated NLOS effects. IEEE Internet Things J. 2022, 10, 1822–1835. [Google Scholar] [CrossRef]
  7. Pau, G.; Arena, F.; Gebremariam, Y.E.; You, I. Bluetooth 5.1: An analysis of direction finding capability for high-precision location services. Sensors 2021, 21, 3589. [Google Scholar] [CrossRef]
  8. Cheng, C.-H.; Syu, S.-J. Improving area positioning in ZigBee sensor networks using neural network algorithm. Microsyst. Technol. 2021, 27, 1419–1428. [Google Scholar] [CrossRef]
  9. Thio, V.; Aparicio, J.; Ånonsen, K.B.; Bekkeng, J.K.; Booij, W. Fusing of a continuous output PDR algorithm with an ultrasonic positioning system. IEEE Sens. J. 2021, 22, 2464–2474. [Google Scholar] [CrossRef]
  10. Bernardes, E.; Viollet, S.; Raharijaona, T. A three-photo-detector optical sensor accurately localizes a mobile robot indoors by using two infrared light-emitting diodes. IEEE Access 2020, 8, 87490–87503. [Google Scholar] [CrossRef]
  11. Tian, Z.; Fang, X.; Zhou, M.; Li, L. Smartphone-based indoor integrated WiFi/MEMS positioning algorithm in a multi-floor environment. Micromachines 2015, 6, 347–363. [Google Scholar] [CrossRef]
  12. Horn, B.K.P. Indoor localization using uncooperative wi-fi access points. Sensors 2022, 22, 3091. [Google Scholar] [CrossRef] [PubMed]
  13. Kokkinis, A.; Kanaris, L.; Liotta, A.; Stavrou, S. RSS indoor localization based on a single access point. Sensors 2019, 19, 3711. [Google Scholar] [CrossRef] [PubMed]
  14. He, S.; Chan, S.-H.G. Wi-Fi fingerprint-based indoor positioning: Recent advances and comparisons. IEEE Commun. Surv. Tutor. 2015, 18, 466–490. [Google Scholar] [CrossRef]
  15. Chen, J.; Song, S.; Yu, H. An indoor multi-source fusion positioning approach based on PDR/MM/WiFi. AEU-Int. J. Electron. Commun. 2021, 135, 153733. [Google Scholar] [CrossRef]
  16. Wang, T.; Han, L.; Kong, Q.; Li, Z.; Li, C.; Han, J.; Bai, Q.; Chen, Y. An improved particle filter indoor fusion positioning approach based on Wi-Fi/PDR/geomagnetic field. Def. Technol. 2024, 32, 443–458. [Google Scholar] [CrossRef]
  17. Chen, G.; Meng, X.; Wang, Y.; Zhang, Y.; Tian, P.; Yang, H. Integrated WiFi/PDR/Smartphone using an unscented kalman filter algorithm for 3D indoor localization. Sensors 2015, 15, 24595–24614. [Google Scholar] [CrossRef]
  18. Deng, Z.-A.; Hu, Y.; Yu, J.; Na, Z. Extended Kalman filter for real time indoor localization by fusing WiFi and smartphone inertial sensors. Micromachines 2015, 6, 523–543. [Google Scholar] [CrossRef]
  19. Chen, J.; Song, S.; Liu, Z. A PDR/WiFi indoor navigation algorithm using the federated particle filter. Electronics 2022, 11, 3387. [Google Scholar] [CrossRef]
  20. Wang, X.; Gao, L.; Mao, S. BiLoc: Bi-modal deep learning for indoor localization with commodity 5GHz WiFi. IEEE Access 2017, 5, 4209–4220. [Google Scholar] [CrossRef]
  21. Irsan, F.A.; Aminah, N.S.; Djamal, M. RSSI-WIFI Based Indoor Position Tracking System Using Support Vector Machine (SVM). In Proceedings of the 2022 International Conference on Electrical, Computer, Communications and Mechatronics Engineering (ICECCME), Male, Maldives,, 16–18 November 2022. [Google Scholar]
  22. Hoang, M.T.; Yuen, B.; Dong, X.; Lu, T.; Westendorp, R.; Reddy, K. Recurrent neural networks for accurate RSSI indoor localization. IEEE Internet Things J. 2019, 6, 10639–10651. [Google Scholar] [CrossRef]
  23. Khassanov, Y.; Nurpeiissov, M.; Sarkytbayev, A.; Kuzdeuov, A.; Varol, H.A. Finer-level sequential wifi-based indoor localization. In Proceedings of the 2021 IEEE/SICE International Symposium on System Integration (SII), Iwaki, Japan, 11–14 January 2021. [Google Scholar]
  24. Hernández, N.; Parra, I.; Corrales, H.; Izquierdo, R.; Ballardini, A.L.; Salinas, C.; García, I. WiFiNet: WiFi-based indoor localisation using CNNs. Expert Syst. Appl. 2021, 177, 114906. [Google Scholar] [CrossRef]
  25. Njima, W.; Bazzi, A.; Chafii, M. DNN-based indoor localization under limited dataset using GANs and semi-supervised learning. IEEE Access 2022, 10, 69896–69909. [Google Scholar] [CrossRef]
  26. Vishwakarma, R.; Joshi, R.B.; Mishra, S. IndoorGNN: A Graph Neural Network Based Approach for Indoor Localization Using WiFi RSSI. In Proceedings of the International Conference on Big Data Analytics, Delhi, India, 7–9 December 2023. [Google Scholar]
  27. Qin, F.; Zuo, T.; Wang, X. Ccpos: Wifi fingerprint indoor positioning system based on cdae-cnn. Sensors 2021, 21, 1114. [Google Scholar] [CrossRef] [PubMed]
  28. Bi, J.; Cao, H.; Yao, G.; Chen, Z.; Cao, J.; Gu, X. Indoor fingerprint positioning method with standard particle swarm optimization. In Proceedings of the China Satellite Navigation Conference (CSNC 2021), Nanchang, China, 22–25 May 2021. [Google Scholar]
  29. Oh, S.H.; Kim, J.G. WiFi positioning in 3GPP indoor office with modified particle swarm optimization. Appl. Sci. 2021, 11, 9522. [Google Scholar] [CrossRef]
  30. Wang, Z.; Xing, L.; Xiong, Z.; Ding, Y.; Sun, Y.; Shi, C. An Improved Pedestrian Navigation Method Based on the Combination of Indoor Map Assistance and Adaptive Particle Filter. Remote Sens. 2022, 14, 6282. [Google Scholar] [CrossRef]
  31. Wei, R.; Xu, H.; Yang, M.; Yu, X.; Xiao, Z.; Yan, B. Real-time pedestrian tracking terminal based on adaptive zero velocity update. Sensors 2021, 21, 3808. [Google Scholar] [CrossRef]
  32. Yu, D.; Li, C.; Xiao, J. Neural networks-based Wi-Fi/PDR indoor navigation fusion methods. IEEE Trans. Instrum. Meas. 2022, 72, 1–14. [Google Scholar] [CrossRef]
  33. Lin, Y.; Yu, K. An Improved Integrated Indoor Positioning Algorithm Based on PDR and Wi-Fi under Map Constraints. IEEE Sens. J. 2024, 24, 24096–24107. [Google Scholar] [CrossRef]
  34. Li, Y.; Zhuang, Y.; Lan, H.; Zhou, Q.; Niu, X.; El-Sheimy, N. A hybrid WiFi/magnetic matching/PDR approach for indoor navigation with smartphone sensors. IEEE Commun. Lett. 2015, 20, 169–172. [Google Scholar] [CrossRef]
  35. Chen, J.; Song, S.; Gong, Y.; Zhang, S. An indoor fusion navigation algorithm using HV-derivative dynamic time warping and the chicken particle filter. Satell. Navig. 2022, 3, 13. [Google Scholar] [CrossRef]
  36. Chen, J.; Ou, G.; Peng, A.; Zheng, L.; Shi, J. An INS/WiFi indoor localization system based on the Weighted Least Squares. Sensors 2018, 18, 1458. [Google Scholar] [CrossRef] [PubMed]
  37. Ismail, A.H.; Kitagawa, H.; Tasaki, R.; Terashima, K. WiFi RSS fingerprint database construction for mobile robot indoor positioning system. In Proceedings of the 2016 IEEE International Conference on Systems, Man, and Cybernetics (SMC), Budapest, Hungary, 9–12 October 2016. [Google Scholar]
  38. Yuan, C.; Zhao, D.; Heidari, A.A.; Liu, L.; Chen, Y.; Wu, Z.; Chen, H. Artemisinin optimization based on malaria therapy: Algorithm and applications to medical image segmentation. Displays 2024, 84, 102740. [Google Scholar] [CrossRef]
  39. Yin, S.; Zhu, X. Intelligent particle filter and its application to fault detection of nonlinear system. IEEE Trans. Ind. Electron. 2015, 62, 3852–3861. [Google Scholar] [CrossRef]
  40. Potortì, F.; Crivello, A.; Barsocchi, P.; Palumbo, F. Evaluation of indoor localisation systems: Comments on the ISO/IEC 18305 standard. In Proceedings of the 2018 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Nantes, France, 24–27 September 2018. [Google Scholar]
  41. Li, Y.; Georgy, J.; Niu, X.; Li, Q.; El-Sheimy, N. Autonomous calibration of MEMS gyros in consumer portable devices. IEEE Sens. J. 2015, 15, 4062–4072. [Google Scholar] [CrossRef]
  42. Csuzdi, D.; Törő, O.; Bécsi, T. Differentiable Particle Filtering using Optimal Placement Resampling. arXiv 2024, arXiv:2402.16639. [Google Scholar]
  43. Hu, Y.; Peng, A.; Tang, B.; Xu, H. An indoor navigation algorithm using multi-dimensional Euclidean distance and an adaptive particle filter. Sensors 2021, 21, 8228. [Google Scholar] [CrossRef]
Figure 1. AO-PSO-PF positioning algorithm flow chart.
Figure 1. AO-PSO-PF positioning algorithm flow chart.
Electronics 13 03366 g001
Figure 2. Schematic diagram of WiFi fingerprinting in an indoor environment.
Figure 2. Schematic diagram of WiFi fingerprinting in an indoor environment.
Electronics 13 03366 g002
Figure 3. Interpolation position of IDW.
Figure 3. Interpolation position of IDW.
Electronics 13 03366 g003
Figure 4. A schematic diagram of the process of PSO particle optimization: (a) Initial particle distribution; (b) First update with a new optimal particle; (c) Second update with further replacement of an optimal particle; (d) Final selection of the top three optimal particles.
Figure 4. A schematic diagram of the process of PSO particle optimization: (a) Initial particle distribution; (b) First update with a new optimal particle; (c) Second update with further replacement of an optimal particle; (d) Final selection of the top three optimal particles.
Electronics 13 03366 g004
Figure 5. A flowchart of the PSO algorithm.
Figure 5. A flowchart of the PSO algorithm.
Electronics 13 03366 g005
Figure 6. Comparative analysis: PSO versus WKNN: (a) Traditional WKNN positioning with k points dependent on fingerprint database, highlighting areas of less accuracy (red circle); (b) PSO-generated positioning with k points covering all areas, showing improved accuracy with final particle positions marked (red circle).
Figure 6. Comparative analysis: PSO versus WKNN: (a) Traditional WKNN positioning with k points dependent on fingerprint database, highlighting areas of less accuracy (red circle); (b) PSO-generated positioning with k points covering all areas, showing improved accuracy with final particle positions marked (red circle).
Electronics 13 03366 g006
Figure 7. Step length diagram: Green mark indicates direction, red and blue marks explain the elements in Formula 12.
Figure 7. Step length diagram: Green mark indicates direction, red and blue marks explain the elements in Formula 12.
Electronics 13 03366 g007
Figure 8. This diagram illustrates the effect of introducing AO particles in the AO-PF framework. The introduction of AO particles aims to address the particle impoverishment problem. Compared to the standard particle filter [39], the offspring particles obtained after resampling cover more areas of the true posterior distribution.
Figure 8. This diagram illustrates the effect of introducing AO particles in the AO-PF framework. The introduction of AO particles aims to address the particle impoverishment problem. Compared to the standard particle filter [39], the offspring particles obtained after resampling cover more areas of the true posterior distribution.
Electronics 13 03366 g008
Figure 9. Scenarios and real trajectory of the two experiments.
Figure 9. Scenarios and real trajectory of the two experiments.
Electronics 13 03366 g009
Figure 10. The diagram of the four smartphone motions.
Figure 10. The diagram of the four smartphone motions.
Electronics 13 03366 g010
Figure 11. Illustrations on the effectiveness of AO, red circle denotes the low weight particle before AO.
Figure 11. Illustrations on the effectiveness of AO, red circle denotes the low weight particle before AO.
Electronics 13 03366 g011
Figure 12. Positioning trajectory for PDR in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 12. Positioning trajectory for PDR in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g012aElectronics 13 03366 g012b
Figure 13. Positioning trajectory for WiFi in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 13. Positioning trajectory for WiFi in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g013
Figure 14. Positioning trajectory for FPF in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 14. Positioning trajectory for FPF in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g014aElectronics 13 03366 g014b
Figure 15. Positioning trajectory for AO-PSO-PF in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 15. Positioning trajectory for AO-PSO-PF in the 1st experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g015
Figure 16. Positioning errors for PDR, WiFi, FPF, and AO-PSO-PF under different smartphone usage gestures in the 1st experiment: (a) positioning errors in the calling gesture; (b) positioning errors in the dangling gesture; (c) positioning errors in the handheld gesture; (d) positioning errors in the pocketed gesture.
Figure 16. Positioning errors for PDR, WiFi, FPF, and AO-PSO-PF under different smartphone usage gestures in the 1st experiment: (a) positioning errors in the calling gesture; (b) positioning errors in the dangling gesture; (c) positioning errors in the handheld gesture; (d) positioning errors in the pocketed gesture.
Electronics 13 03366 g016aElectronics 13 03366 g016b
Figure 17. CDF errors for PDR, WiFi, FPF, and AO-PSO-PF under different smartphone usage gestures in the 1st experiment: (a) CDF errors in the calling gesture; (b) CDF errors in the dangling gesture; (c) CDF errors in the handheld gesture; (d) CDF errors in the pocketed gesture.
Figure 17. CDF errors for PDR, WiFi, FPF, and AO-PSO-PF under different smartphone usage gestures in the 1st experiment: (a) CDF errors in the calling gesture; (b) CDF errors in the dangling gesture; (c) CDF errors in the handheld gesture; (d) CDF errors in the pocketed gesture.
Electronics 13 03366 g017
Figure 18. Positioning trajectory for PDR in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 18. Positioning trajectory for PDR in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g018aElectronics 13 03366 g018b
Figure 19. Positioning trajectory for PF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 19. Positioning trajectory for PF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g019
Figure 20. Positioning trajectory for APF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 20. Positioning trajectory for APF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g020aElectronics 13 03366 g020b
Figure 21. Positioning trajectory for AO-PSO-PF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Figure 21. Positioning trajectory for AO-PSO-PF in the 2nd experiment: (a) calling gesture; (b) dangling gesture; (c) handheld gesture; (d) pocketed gesture.
Electronics 13 03366 g021
Figure 22. Positioning errors for PDR, PF, APF, and AO-PSO-PF under different smartphone usage gestures in the 2nd experiment: (a) positioning errors in the calling gesture; (b) positioning errors in the dangling gesture; (c) positioning errors in the handheld gesture; (d) positioning errors in the pocketed gesture.
Figure 22. Positioning errors for PDR, PF, APF, and AO-PSO-PF under different smartphone usage gestures in the 2nd experiment: (a) positioning errors in the calling gesture; (b) positioning errors in the dangling gesture; (c) positioning errors in the handheld gesture; (d) positioning errors in the pocketed gesture.
Electronics 13 03366 g022aElectronics 13 03366 g022b
Figure 23. CDF errors for PDR, PF, APF, and AO-PSO-PF under different smartphone usage gestures in the 2nd experiment: (a) CDF errors in the calling gesture; (b) CDF errors in the dangling gesture; (c) CDF errors in the handheld gesture; (d) CDF errors in the pocketed gesture.
Figure 23. CDF errors for PDR, PF, APF, and AO-PSO-PF under different smartphone usage gestures in the 2nd experiment: (a) CDF errors in the calling gesture; (b) CDF errors in the dangling gesture; (c) CDF errors in the handheld gesture; (d) CDF errors in the pocketed gesture.
Electronics 13 03366 g023
Figure 24. Comparison of AO-PSO-PF, WiFi, FPF, and PDR in Experiment 1.
Figure 24. Comparison of AO-PSO-PF, WiFi, FPF, and PDR in Experiment 1.
Electronics 13 03366 g024
Figure 25. Comparison of AO-PSO-PF, PF, APF, and PDR in Experiment 2.
Figure 25. Comparison of AO-PSO-PF, PF, APF, and PDR in Experiment 2.
Electronics 13 03366 g025
Table 1. Parameter values of the experiments.
Table 1. Parameter values of the experiments.
ParameterValue
Particle size of PSO50
ω0.01
c10.01
c20.01
Particle size of PF500
N (particle size of AO)500
D2
lb−1
ub1
Table 2. Phone components.
Table 2. Phone components.
PhoneHonor 50Nexus 5X
WiFi chip modelFastConnect 6200BCM4358
AccelerometerBMA456BMA255
GyroscopeLSM6DSOMPU-6500
MagnetometerAK09918CAK8963
Table 3. The detailed data for the PDR, WiFi, FPF, and AO-PSO-PF with four postures.
Table 3. The detailed data for the PDR, WiFi, FPF, and AO-PSO-PF with four postures.
Motion
Modes
AlgorithmAERMSEMECEP of 75%CEP of 95%
Calling modePDR3.644.066.644.976.62
WiFi1.061.262.641.372.62
FPF1.071.262.271.282.22
AO-PSO-PF0.821.032.291.082.21
Dangling modePDR6.247.5415.379.3815.32
WiFi1.041.172.251.422.22
FPF0.981.142.341.282.32
AO-PSO-PF0.850.991.771.231.72
Handheld modePDR14.7816.8126.1920.4426.12
WiFi1.171.261.891.481.87
FPF1.361.522.451.682.42
AO-PSO-PF1.111.221.871.481.82
Pocketed modePDR4.264.617.425.187.42
WiFi1.191.372.311.762.36
FPF1.361.582.971.982.92
AO-PSO-PF1.021.252.161.682.12
GeneralPDR7.238.2613.919.9913.37
WiFi1.121.272.271.512.27
FPF1.191.322.511.482.47
AO-PSO-PF0.951.122.021.371.97
Table 4. The detailed data for the PDR, PF, APF, and AO-PSO-PF with four postures.
Table 4. The detailed data for the PDR, PF, APF, and AO-PSO-PF with four postures.
Motion
Modes
AlgorithmAERMSEMECEP of 75%CEP of 95%
Calling modePDR7.989.2414.2811.2313.48
PF1.011.263.301.512.27
APF1.842.396.392.764.27
AO-PSO-PF0.931.183.031.432.27
Dangling modePDR22.6726.4855.9532.1342.67
PF2.573.328.743.936.17
APF2.493.148.023.435.97
AO-PSO-PF1.952.586.282.734.87
Handheld modePDR42.3750.01107.8957.5388.67
PF1.802.356.502.834.47
APF6.9710.1229.609.9326.57
AO-PSO-PF1.572.016.101.973.87
Pocketed modePDR2.943.568.693.836.97
PF1.371.954.972.334.27
APF1.701.893.402.033.37
AO-PSO-PF1.211.664.701.933.47
GeneralPDR18.9922.3246.2026.2837.45
PF1.692.225.882.654.29
APF3.064.0311.853.897.85
AO-PSO-PF1.421.865.032.023.62
Table 5. AE of AO-PSO-PF for different users across various modes.
Table 5. AE of AO-PSO-PF for different users across various modes.
Motion
Modes
Person 1Person 2Person 3Person 4Person 5
Calling 0.931.211.431.291.08
Dangling 1.951.981.891.671.71
Handheld 1.571.821.751.901.93
Pocketed 1.211.201.251.651.47
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

Liu, Z.; Song, S.; Chen, J.; Hou, C. Enhanced WiFi/Pedestrian Dead Reckoning Indoor Localization Using Artemisinin Optimization-Particle Swarm Optimization-Particle Filter. Electronics 2024, 13, 3366. https://doi.org/10.3390/electronics13173366

AMA Style

Liu Z, Song S, Chen J, Hou C. Enhanced WiFi/Pedestrian Dead Reckoning Indoor Localization Using Artemisinin Optimization-Particle Swarm Optimization-Particle Filter. Electronics. 2024; 13(17):3366. https://doi.org/10.3390/electronics13173366

Chicago/Turabian Style

Liu, Zhihui, Shaojing Song, Jian Chen, and Chao Hou. 2024. "Enhanced WiFi/Pedestrian Dead Reckoning Indoor Localization Using Artemisinin Optimization-Particle Swarm Optimization-Particle Filter" Electronics 13, no. 17: 3366. https://doi.org/10.3390/electronics13173366

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

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop