The specific objective of this study is to propose a low-cost indoor navigation framework with nonbasic equipment by combining inertial sensors and indoor map messages. The proposed pedestrian navigation framework consists of a lower filter and an upper filter. In the lower filter which is designed based on the Kalman filter, the adaptive zero velocity detection algorithm is used to detect the zero velocity interval at different motion speeds, and then, zero velocity update is applied to rectify the inertial navigation solutions’ errors. In the upper filter which is designed based on the nonrecursive Bayesian filter, the map matching method with nonrecursive Bayesian filter is adopted to fuse the map prior information and the lower filter estimation results to correct the errors of navigation. The position estimation presented in this study achieves an average position error of 0.53 m compared to the ZUPT-aided inertial navigation system (INS) method under different motion states. The proposed pedestrian navigation algorithm achieves an average position error of 0.54 m as compared to the ZUPT-aided INS method among the different tested distances. The proposed framework simplifies the indoor positioning system under multiple motion speed conditions by ensuring the accuracy and stability property. The effectiveness and accuracy of the proposed framework are experimentally verified in various real-world scenarios.

1. Introduction

In outdoor positioning systems, the preferred method for localization is the Global Positioning System (GPS) [1, 2]. The GPS is the most widely used positioning technology in the world, with the advantages of high accuracy, stability, reliability, and continuous provision of output 3D position. However, the result of the GPS positioning becomes very unreliable in the GPS-degraded enviroments. The main disadvantage of the GPS is that it almost loses its positioning function in areas where the satellite signal strength will be weakened in obscured environments such as urban buildings, mountains, forests, or underground buildings. Thus, the use of the GPS equipment for positioning is usually effective exclusively in outdoor environments. Studies have shown that over 80% of the human life will be spent indoors, so indoor positioning technology has great research value when the GPS is not available.

Nowadays, the demand for indoor navigation-related services has been growing dramatically, such as navigation to shops and intelligent spaces. From the sensors used for localization point of view, indoor positioning technologies can be separated into two categories: building dependent or building independent. The first category includes Wi-Fi [3], ultrawideband (UWB) [4, 5], Bluetooth [6, 7], radio frequency identification (RFID) [8, 9], and visible light communication (VLC) [10, 11]. Building-dependent absolute positioning methods are all effective in locating consumers and providing permanent solutions. Nevertheless, these location methods usually demand large resources to set up the indoor positioning systems. The second category, which does not require any special hardware, is infrastructure-independent indoor positioning technologies. The pedestrian dead reckoning [1214] and image-based technologies [15, 16] belong in this class. Within these technologies, dead rocking based on the foot-mounted inertial measurement unit (IMU) is the favoured indoor positioning technology [1719]. In dead reckoning, the user’s position is estimated by inertial measurement unit (IMU) sensor data. The indoor positioning accuracy of dead reckoning based on a foot-mounted inertial measurement unit (IMU) technology depends on eliminating the accumulated errors and drift errors.

The performance of zero velocity update algorithm depends on zero velocity detection algorithm [2022]. The conventional zero velocity detection detects the zero velocity state by comparing the inertial data with the precalibrated fixed thresholds [23, 24]. Since foot movements are modifiable, fixed thresholds fail to accommodate different movements. In this paper, we adopt the Bayesian approach to the adaptive thresholding algorithm to solve the problem, which often fails at high dynamic motions [25]. Nguyen et al. proposed a Range-Focused Fusion of Camera-IMU-UWB method to achieve accurate and drift-reduced localization [26]. Zhu et al. proposed Wi-Fi/Bluetooth and PDR fusion positioning, which solves the problem that the PDR cumulative error is large [27]. Lee et al. used UWB positioning to enhance the performance of PDR [28]. However, although these methods can significantly improve the accuracy of pedestrian inertial navigation, it is expensive to build these navigation systems, and they require a lot of time and money to install, maintain, and update. The map matching method, which is an economical and efficient method, is used to correct heading errors. The particle filter-based map matching method can significantly improve the localization accuracy but also has the problem of heavy computational burden [29]. Thus, we adopt the nonrecursive Bayesian map-matching method [30, 31] to avoid the computational burden. In this context, this paper proposes an autonomous indoor positioning method by fusing indoor map information and IMU data. Our main contribution can be summarized as follows: (i)Firstly, the algorithm is based on IMU data and indoor map information fusion positioning navigation, which does not require prediction volume and structure installation, greatly decreasing the time and financial expense of indoor navigation systems(ii)Secondly, the innovative combination of inertial navigation based on adaptive threshold detection and map matching, which makes full use of indoor map information and IMU sensor information, improves the accuracy of navigation calculation to a certain extent(iii)At the end of the work, the effectiveness of the algorithm is verified by experimental results in different scenarios

The cascade structure algorithm is briefly introduced in Section 2, and then, the lower layer Kalman filter and the upper layer nonrecursive Bayesian filter are discussed separately in this section as well. The proposed method is experimentally validated in Section 3. The original method is analysed by field tests and conclusions are given in Sections 4 and 5, respectively.

2. Materials and Methods

The proposed pedestrian navigation system uses a map matching algorithm with ZUPT-aided inertial navigation systems to enhance the position accuracy. The zero velocity update (ZUPT) method is used to decrease the accumulated error for the inertial navigation system. Then, the map matching method is used to improve the heading for the navigation solution from the ZUPT-aided inertial navigation system (INS). The proposed pedestrian navigation system is shown in Figure 1.

2.1. Cascade Structure Algorithm

This study uses a nonrecursive Bayesian filter to combine indoor map information with inertial sensor data. In order to make full use of the map prior information and overcome the implementation problems of particle filter (PF), this study proposes a Kalman filter (KF) with nonrecursive Bayesian filter cascaded inertial navigation algorithm (the KF with nonrecursive PF-cascaded INS) consisting of a two-layer structure, as show in Figure 2.

In the lower filter, the zero velocity update algorithm is used to correct the errors of inertial solution when the zero velocity moment was detected by the adaptive zero velocity detection algorithm. Therefore, the better INS solving results were provided to the upper nonrecursive Bayesian filter. The navigation results of the lower filter are applied to update the nonlinear state of the upper filter. The map message is adopted as an independent indicator to adjust the navigation results of the lower filter, and the structure of the relationship between the two layers of filters is illustrated in Figure 2. The position, velocity, and attitude information of pedestrians are selected to be the state vectors in the lower filter. For the upper nonrecursive Bayesian filter, taking into account the computer burden, the state vector has only two-dimensional position information.

2.2. Lower Kalman Filter

In the lower filter, the indoor navigation is a foot-mounted INS/ZUPT system, which consists of attitude resolution, zero velocity detection, and zero velocity update.

2.2.1. Attitude Resolution

To calculate the current position, we first convert the 3D acceleration and 3D gyroscope data from the sensor frame to the world frame, as shown in Figure 3.

The input data of the pedestrian navigation system are acceleration and angular velocity expressed in time series. Firstly, the rotation matrix of the human body to the navigation coordinate system is calculated by the gyroscope data. The role of the rotation matrix is to convert the sensor navigation frame into the world navigation frame. The rotation matrix of the pedestrian navigation system is where , , and are the roll, pitch, and yaw, respectively.

While walking, the IMU mounted on the foot is constantly changing its attitude with the movement of the foot, so the rotation matrix of the system is constantly updated. The update equation of the rotation matrix is and the bias-compensated gyro rate vector is where denotes IMU sample time and denotes the unit matrix.

Next, the gravitational force of the earth is removed to obtain the acceleration of the navigation system. where denotes the velocity, denotes acceleration, and is the earth’s gravitational acceleration.

Finally, the displacement can be obtained by integrating the velocity.

The velocity and position errors at this point are large due to the lack of any correction and calibration. Therefore, this paper adopts the zero velocity update algorithm to correct the drift error of the pedestrian navigation system. The zero velocity detection, which determines whether an IMU is stationary, is the most critical part of the zero velocity update algorithm.

2.2.2. Zero Velocity Detection

During a walking gait cycle, the pedestrian’s foot will completely touch the ground; this phase is the stationary phase, and the rest of the phases are called moving phases, as shown in Figure 4.

Let the acceleration and the angular rate measurements from the IMU be the vector.

Skog et al. proposed the zero velocity detection algorithms based on the Likelihood Ratio Test (LRT) framework [23, 25]. The goal of the zero velocity detector is to determine whether the IMU is moving or stationary, during a time epoch consisting of observation between the time instants and .

At the sampling example , is the inertial measurements.

The problem of detecting zero velocity intervals based on the walking gait of pedestrians can be considered to be a binary classification task.

The stance hypothesis optimal detection (SHOE) detector is where and denote the measurement noise of acceleration and gyroscope, respectively. And is the adaptive threshold.

The adaptive threshold is given by where , , , and , where and are design parameters and the time since the last incidence of zero velocity is , and where is the velocity error covariance and denotes the velocity estimate at sampling instant .

In the absence of an informative prior, the proposed detection framework is less sensitive to parameter tuning than a conventional detector with a fixed threshold, despite the fact that it includes design parameters. While the pedestrian is stationary; otherwise, they are in moving.

2.2.3. Zero Velocity Update

The zero velocity update algorithm can effectively limit the effect of the integral cumulative error of inertial navigation results. Firstly, the zero velocity detection algorithm detects the zero velocity time interval. Then, the zero velocity update algorithm based on the extended Kalman filter corrects the position and velocity error of the pedestrian navigation system during the zero velocity interval.

The error state vector of the zero velocity update algorithm based on the extended Kalman filter at time is where , , and denote the attitude error, position error, and velocity error, respectively.

In the pedestrian inertial navigation system, the state transfer equation is where is the state transfer matrix and is the process noise vector.

During the stationary phase, the error state vector is updated by the measured value updated at the zero velocity phase; the expression of error state vector is

The Kalman gain is computed as

The covariance matrix of the system estimation error state vector is

The attitude update is done by combining the pose error from moment to moment with the predicted pose matrix. where denotes the skew-symmetric matrix of the attitude error vector .

The position and velocity are updated by the following two equations:

In this paper, a zero velocity update algorithm based on the Kalman filter is used, which can effectively suppress the integral cumulative error inherent to inertial sensors. However, the zero velocity update algorithm cannot correct the heading. Therefore, this paper proposes a method based on the cascade filter to further improve the accuracy of the navigation system by correcting the heading error through a map matching method with nonreductive Bayesian filter.

2.3. Upper Nonrecursive Bayesian Filter

The lower filter uses ZUPT-aided INS to estimate the position of pedestrians. The ZUPT-aided INS calculates the position of the pedestrian on the two-dimensional plane at each step. The step detection of pedestrian is calculated by the adaptive threshold zero velocity detection method. The pedestrian is considered having taken a step when the foot is detected by the zero velocity detection algorithm to be at stationary state during the walking cycle. The state propagation of position is more applicable to the upper filter. Thus, the state propagation equation for particle filter is where denotes the position of the pedestrian.

The particle filter-based map matching consists of three steps. Firstly, step 1 is to generate the particles scattered around the next possible step by equation (19). Secondly, step 2 is the weighting of particles by considering the wall boundaries in the measurement update. Finally, step 3 is particle resampling, thus preventing particle degradation. The nonrecursive Bayesian map matching algorithm is to transform a plan to map into a location likelihood heat map for multiple purposes. The desired rasterized map will implement a completely different Bayesian map-filter design, replacing steps 1-2 of the particle filter map matching and breaking the recursive loop [29].

The score of the heat map drops to zero when the boundary of the wall begins. These give rise to a computationally efficient filter design that does not require heavy Monte Carlo simulations and explicit wall crossing checks for each particle. So, the generated rasterized map implicitly simulates the wall constraint. As shown in Figure 5, the blue part is the score of the heat map down to zero, and the yellow part is used as a constant spatial prior for all pedestrian position estimates. The rasterized map is denoted by where RM stands for the rasterized map.

The time update of the prior probability density function (pdf) generated at the current time is obtained through the Chapman-Kolmogorov equation. where is the posterior pdf for at the previous time step, and is the state transition probability density function. The likelihood term is used to acquire the posterior pdf of nonrecursive Bayesian at the current time as follows:

3. Experimental Results

The effectiveness and feasibility of the proposed algorithm was tested through the conduct of ground experiments. In this paper, we used the NGIMU from x-io Technologies Limited as our inertial guidance sensor device with the specifications shown in Table 1. We used the NGIMU with housing, which measures , and it weighs 46 g. It is fixed to the foot with a stretching strap, as shown in Figure 6.

Our experimental site is a 2 m wide indoor corridor, as illustrated in Figure 7(a). We evaluated our system in different walking velocity conditions. The experimenter installed NGIMU on the foot as shown in Figure 6. The point of the square blue in Figure 7(a) is the starting point, and the experimenter walks a circle from the starting point along the red arrow back to the starting point, and the distance walked was approximately 215.94 m. The average walking velocity of the three experiments were 1.1 m/s, 2.1 m/s, and 3.1 m/s. The KF with nonrecursive PF-cascaded INS results at 1.1 m/s, 2.1 m/s, and 3.1 m/s are shown in Figures 7(b)7(d), respectively. The red trajectories are KF with nonrecursive PF-cascaded INS results, and the blue trajectories are the ZUPT-aided INS results in Figures 7(b)7(d).

All tests start and end at the same position. Therefore, the position error which is evaluated by the difference between the initial and final position estimates is an efficient and concise method [32]. The position errors under different speed conditions are shown in Table 2. The average position errors of ZUPT-aided INS and KF with nonrecursive PF-cascaded INS at 1.1 m/s, 2.1 m/s, and 3.1 m/s are 4.47 m and 0.54 m, respectively. Under different velocity conditions, the position error of KF with nonrecursive PF-cascaded INS is much smaller than that of ZUPT-aided INS.

The KF with nonrecursive PF-cascaded INS was tested for different walking distances to further verify the stability of this navigation system. The test 1 walking path is shown in Figure 7(a), walking distance is 215.94 m, and walking average speed is 1.1 m/s. The walking path of test 2 is one more lap on the planned path of test 1, the walking distance is about 431.88 m, and the average speed of walking is 1.20 m/s. The walking path of test 3 is two more laps on the path of test 1, the walking distance is about 647.82 m, and the average speed of walking is 0.93 m/s. The walking path of test 4 is three more laps on the path of test 1, the walking distance is about 867.76 m, and the average speed of walking is 0.93 m/s. The simulation results of the four test experiments are shown in Figures 8(a)8(d).

The position error results for different distance conditions are shown in Table 3. The average position error of the four different distance experiments of ZUPT-aided INS and KF with nonrecursive PF-cascaded INS are 4.57 m and 0.53 m, respectively. In different distance experiments, ZUPT-aided INS and KF with nonrecursive PF-cascaded INS significantly outperforms ZUPT-aided INS. In addition, the mean position errors of the KF with nonrecursive PF-cascaded INS could be controlled within 1 m.

In order to evaluate the performance of the proposed algorithm, we present the performance of complementary filter [33], gradient descent algorithm [34], and extended Kalman filtering [35] in Table 4. The position error results using the four different methods are shown in Table 4. At the walking distance of about 420 m, the cascade filtering algorithm results of walking trajectory showed the smallest end-to-end (starting point to ending point) error compared to the CF, GDA, and EKF algorithm results of the walking trajectory. It can be concluded that the cascade filtering algorithm can effectively decrease the end-to-end errors.

4. Discussion

The NGIMU was used to acquire IMU data in the experiment part, and the given algorithm did not require anything in particular for the MEMS sensor. When fusing indoor map information with an inertial navigation system, the estimated position accuracy is substantially improved because the map information can strongly constrain the system’s heading. In addition, the mean position errors of the KF with nonrecursive PF-cascaded INS could be controlled within 1 m. As shown in Table 2, with the speed increase of walking, the position error of the system using the adaptive threshold method is kept within 1 m, which fully meets the navigation design requirements. This system does not need to conduct tedious threshold range determination experiments, which simplifies the steps of the navigation system.

The average position error of this system is 0.54 m at 1.1 m/s, 2.1 m/s, and 3.1 m/s motion speed, which can show that this system can still maintain high accuracy navigation under different motion speed conditions. In addition, increasing the test distance, the average position error of this system is 0.53 m, and this system can still maintain a relatively better navigation effect in the case of long walking distance. As shown in Table 4, compared with the results of the CF, GDA, and EKF algorithms, the proposed algorithm in this paper has the smallest position error. The proposed algorithm implies continuous location of the pedestrian by quantification of human lower limb movements. In addition, the cascade filter-based inertial navigation system has a variety of commercial applications, such as security applications, medical monitoring, and smart spaces.

5. Conclusions

This study proposes a completely noninfrastructure-based and low-cost indoor navigation system that is both cheaper and faster than existing methods. Only indoor map information and NGIMU sensors are used in this algorithm. Since just indoor map information and inertial guidance sensors are employed in this method, no presurvey, preinstallation, or extra supporting sensors are required. Theory analysis and experiment results show that the proposed KF with nonrecursive PF-cascaded INS provides better performance than the ZUPT-aided INS significantly and improves the accessibility, applicability, and usability of the interior navigation system for users.

Data Availability

The data can be obtained at https://github.com/Evangear/Pedestrian-Inertial-Navigation-with-Building-Floor-Plans-for-Indoor-Environments-via-particle-filte.


Funders have no role in the research design; collection, analysis, or interpretation of the data; and writing or decision to publish the results.

Conflicts of Interest

The authors declare no conflict of interest.


We are very grateful to all members of the research team led by J.-X Guo for their valuable suggestions. This research was funded by the foundation of the Shaanxi Key Laboratory of Integrated and Intelligent Navigation [grant number SKLIIN-20190102], Natural Science Foundation of Shaanxi Province [grant numbers 2021JM-537 and 2019JQ-936], the Research Foundation for Talented Scholars of Xijing University [grant numbers XJ20B01, XJ19B01, and XJ17B06], and the Key R&D Program of Shaanxi Province, China [grant number 2021GY-341].