The rapid development of location-based services (LBSs) has resulted in great convenience in people’s daily lives: personal localization and navigation, and personal tracking and monitoring [1
]. A precise location is necessary to provide a high-quality LBS, and the global navigation satellite system (GNSS) can provide accurate locations for pedestrians in the outside open-sky environment. However, the GNSS faces the problems of signal blockage and multipath in urban areas and other challenging environments (e.g., indoor environments). Therefore, indoor localization technology is flourishing, and many different techniques have been designed and developed for tracking pedestrians’ positions when in indoor environments, such as Wi-Fi [2
], Bluetooth/iBeacon [4
], radio frequency identification (RFID) [6
], near-field communication (NFC) [8
], ultra-wideband (UWB) [9
], magnetic matching [10
], and inertial-sensor-based [12
Owing to the many kinds of application requirements and the large cost difference, all of the abovementioned indoor localization methods are at different levels of development. Currently, smartphone-based Wi-Fi indoor localization technology has become the most popular method due to its low cost and the worldwide availability of Wi-Fi access points in the consumer market [13
]. Wi-Fi signals, however, have poor stability in complex indoor environments, and can be blocked by the human body, as is the case with all other radio-frequency-signal-based indoor location methods. Mobile devices with a built-in micro-electro-mechanical system (MEMS) inertial measurement unit (or IMU, consisting of tri-gyroscopes and tri-accelerometers) can provide autonomous solutions for tracking pedestrians in different types of environments. Thus, they are widely used to overcome the limitations of Wi-Fi signal fluctuations and blockage [3
Two typical IMU-based pedestrian navigation algorithms have been advanced in previous work: pedestrian-gait-model-based (i.e., PDR) and inertial-navigation-system-based (i.e., INS-based). PDR propagates the users’ position following four critical procedures: step detection and step count, step length estimation, moving heading estimation and two-dimensional (2D) position calculation [16
]. A step detection and step count algorithm is the basic component for checking pedestrian walking behavior, including peak detection [18
], zero-crossing [19
], auto-correlation [20
], dynamic time warp [21
], etc. Moreover, a peak detection algorithm is the optimal option for step counting regardless of smartphone placement [22
]. After successfully detecting a new step, a step length model (e.g., the Weiberg model and linear model) is used to estimate the moving distance of pedestrians [12
]. In general, heading error causes larger position error than the other components, so an excellent heading-determining method is the key for improving PDR navigation performance. The original PDR algorithm assumes that the output of the vertical gyros only obtains heading changes (i.e., roll and pitch are 0°) [24
]. Actually, this assumption will not be satisfied. Thus, an enhanced PDR (E-PDR) algorithm has been designed for improving the accuracy of pedestrian heading angle inspired by the attitude heading reference system (AHRS) [25
]. The AHRS provides a robust and high-precision heading for PDR by fusing tri-accelerometer, tri-gyroscope, and tri-magnetometer measurements. Accelerometers have a good ability to find the leveling angle for perceiving Earth’s gravity, and magnetometers provide heading angles by measuring the environmental magnetic field vector. Although the magnetic field is susceptible to magnetic anomalies, a relative heading change calculated by magnetic measurements in a quasi-static magnetic field is still available for improving heading accuracy [28
Another alternative strategy is strap-down-INS-based, which determines the pedestrians’ 3D position, velocity, and attitude by integrating the raw data of tri-accelerometer and tri-gyroscope. Compared with PDR, INS can provide more high-frequency and richer navigation information. However, the position error of INS increases rapidly over time due to the low quality of the MEMS IMU. In order to satisfy the demand of pedestrian navigation applications, some pseudo-observations derived from the kinetic model of humanity are utilized as measurement information for improving INS. In addition, a foot-mounted INS (FM-INS) puts an IMU on the foot (such as toes, instep, or heel) is a typical application case. It is based on the rational idea that movement speed should be zero when a pedestrian’s foot contacts the ground, and zero-velocity update technology (ZUPT) is used to reduce velocity error and can greatly improve the accuracy of position estimation [33
]. However, the ZUPT strategy cannot suppress the accumulation of heading errors. In order to mitigate this, several authors have proposed some techniques for estimating gyroscope bias, such as zero angular rate update (ZARU) [34
], linear trajectory with unchanged heading update [35
], building dominant direction update [36
], and magnetic angular rate update (MARU) [37
]. At present, the best FM-INS that we can find in the literature can achieve position estimation accuracy in 0.3% of the entire travel distance [38
]. However, users need to provide additional inertial sensors as the platform for a FM-INS implementation compared to smartphone-based solutions, and it is necessary to add special protection (e.g., shockproofing and waterproofing) to protect the sensor from damage. Therefore, it is very difficult to implement a FM-INS for wide use in the consumer market.
Owing to the unprecedented growth of smartphone ownership and to the fact that smartphones have a large number of built-in sensors, smartphone-based PDR solutions are generally sensor-available and scalable [39
]. However, smartphone-based PDR solutions still present the following issues: (1) smartphone built-in sensors are generally of poor quality [28
], and (2) the misalignment angle between the smartphone heading and a user’s walking direction cannot be assumed to be known [41
]. E-PDR is a typical solution that overcomes the first issue, but the second issue remains an open problem since some misalignment angle estimation methods have been proposed [41
]. Inspired by PDR and a FM-INS, researchers have tried to keep the rich navigation information of an INS along with the same navigation position estimation accuracy as E-PDR. The next goal is to quickly and accurately estimate the misalignment angle using the high-precision result of an INS estimation in a short amount of time.
However, due to the poor quality of current smartphone built-in sensors, whether a C-INS has the same navigation performance as E-PDR is still an open question. Researchers have applied the forward walking velocity from the gait model and motion constraint as a 3D velocity update to improve INS velocity (called C-INS) [46
]. “Motion constraint” means that the lateral and vertical speeds are zero, which is based on the fact that a moving platform cannot skid or jump. The test results show that a C-INS can provide the same position estimation as E-PDR when an IMU was fixed at the waist. Similarly, other workers [15
] also conducted numerous experiments to verify the performance of C-INS. However, their test results used the original PDR solution (i.e., vertical gyros only obtain heading changes) as the object of comparison, so they cannot be used to illustrate the navigation performance difference between E-PDR and C-INS. The algorithm designed in Ref. [48
] implements an E-PDR and a C-INS, using the position calculated by PDR as the position update to improve the INS position. The test results presented in [48
] did not provide more details about smartphone placement, and only showed some simple results. Therefore, based on our limited investigation, a navigation performance analysis of the C-INS and a comprehensive performance comparison between C-INS and E-PDR are not available.
In this paper, we focus on the construction of a robust C-INS and provide a complexity comparison between C-INS and E-PDR. In addition to using the gravity vector, magnetic field vector, and quasi-static attitude, the proposed algorithm employs a gait model and motion constraint to provide pseudo-measurements (i.e., 3D velocity and 2D position increment) instead of using only pseudo-velocity measurements for a more robust PDR algorithm. Several walking tests are designed to compare the position estimation performance in the four basic smartphone positions, i.e., handheld, calling near the ear, swaying with the hand, and in a pants pocket, between the proposed C-INS and existing INS-based PDR solutions. We also analyze the performance difference between the proposed C-INS and the existing gait-model-based PDR algorithm from the aspects of heading estimation, position estimation, and step detection failure in the four basic phone positions.
The rest of the paper is organized as follows: in Section 2
, the system overview, a simple INS algorithm, a designed extended Kalman filter (EKF) are described in detail, and multi-level measurement equations are presented. The experimental results are described in Section 3
. Finally, conclusions and planned future work are summarized in Section 4
In general, a pedestrian’s walking heading is the main factor influencing the accuracy of position estimation after training a gait model for the PDR algorithms. Thus, E-PDR always exhibits better navigation performance than normal PDR owing to its excellent heading accuracy, which is achieved by fusing the data from tri-gyroscopes, tri-accelerometers, and tri-magnetometers. Tri-accelerometers provide precise leveling angles in the absence of external acceleration, and tri-magnetometers provide relative heading change constraints to realize heading estimation when a pedestrian is walking in a quasi-static magnetic field. However, the existing tri-accelerometer and tri-magnetometer bias in a low-grade IMU will significantly degrade the navigation performance of E-PDR. In the work described this paper, an in situ hand calibration method was used to calibrate the tri-accelerometer bias [52
] and an ellipsoid fitting method of [53
] was employed to calibrate the tri-magnetometer bias before evaluating the navigation performance.
Several indoor walking experiments were conducted using two phones (a Samsung S6 and a Xiaomi 4) to collect data. The two smartphones were held by different pedestrians following the same pre-planned path (approximately 80-m) three times, as shown by the red line in Figure 3
. The Samsung S6 data is used as a sample to illustrate the experimental results. The tested pedestrian phone-holding positions included handheld (e.g., texting), calling (e.g., holding the phone close to an ear), swaying (e.g., walking while swinging the phone in the hand), and pocketing (e.g., keeping the phone in a front pants pocket). Figure 4
illustrates the tested phone motion modes and the corresponding gyro readings. In order to provide the reference values, we recorded the timestamps when passing a corner and wrote them into a file during the test. We also obtained the coordinates of the aforementioned corners by selecting the corresponding point on a high-precision map. Next, the coordinates of the line segments between the two corners were calculated by linear interpolation in time.
3.1. Position Estimation Performance Analysis for INS-Based Method
In this section, we analyze the navigation performance of the C-INS method in the four basic phone-motion modes described above. In [15
], the pseudo-velocity from the gait model was employed for velocity updates to improve the INS velocity, and is called V-INS. In Ref. [48
], the pseudo-position from E-PDR was used for position updates to improve INS position, and is called P-INS. In Figure 5
, the red, magenta, blue, and green lines represent the reference trajectory, V-INS trajectory, P-INS trajectory, and C-INS trajectory, respectively. We can see from the figure that C-INS exhibits a robust position estimation performance in the four basic smartphone positions. V-INS suffered large position drift in the swaying position because the relative position between the smartphone and pedestrian’s body is always changing during one step period. The velocity of the smartphone is seriously inconsistent with the pedestrian’s walking speed, so the assumption of a velocity update is violated. The difference is that P-INS suffered a large position drift when the smartphone was put into a pocket, the reason is that the position calculated by the E-PDR alternately represents the position of the left and right feet. In other words, if the smartphone is put into the right pants pocket, the estimated position of E-PDR represents the position of the left leg when swinging the left leg.
3.2. Heading Estimation between C-INS and E-PDR Methods
In this section, we analyze heading performance to illustrate that C-INS exhibits consistent navigation performance with the E-PDR method. Figure 6
shows the heading angle result with four phone-holding positions calculated using the C-INS and E-PDR solutions. The red, green, and black solid lines represent the reference heading, heading estimation result of the C-INS method, and the heading estimation result of the E-PDR method, respectively. The corresponding heading cumulative error percentages are shown in Figure 7
. As Figure 6
and Figure 7
show, the C-INS and E-PDR methods have similar heading performance when the smartphone is held in a hand or placed in a pocket. Moreover, the C-INS method can provide a higher precision of heading estimation in the positions of calling and swaying, because the external periodic acceleration caused by human activity reduces the chances of the accelerometer being used to correct the horizontal angle. Unlike the E-PDR method, the C-INS method uses a gait model to provide the relative position displacement or moving velocity, which is independent of the external horizontal acceleration. This results in the C-INS method being able to obtain a better heading estimation. The statistical heading performance of both algorithms in four phone-holding positions are illustrated in Table 1
. As can be seen from the table, the root-mean-square (RMS) heading errors of the E-PDR method for the four different phone-holding positions are 2.4°, 5.3°, 14.0°, and 16.6°, while those for the C-INS method are 2.3°, 3.9°, 10.9°, and 16.6°, respectively.
3.3. Position Estimation between C-INS and E-PDR Methods
The position estimation results of the C-INS and E-PDR solutions in the experiment for the four basic phone-holding positions are shown in Figure 8
. The red, green, and blue solid lines represent the reference trajectory, position result of the C-INS method, and position result of the E-PDR method, respectively. Figure 9
shows the position cumulative error percentages of the C-INS and E-PDR methods. As shown in Figure 8
and Figure 9
, the position results calculated by the C-INS method have the same performance in the handheld, calling, and pocket positions, and even higher accuracy in the position of swaying, compared with the E-PDR method. The statistical positioning errors of both algorithms are illustrated in Table 2
, the RMS position error of the E-PDR method for the four different positions (i.e., handheld, calling, swaying, and pocket) are 1.2, 1.2, 2.5, and 1.1 m, respectively, and those for the C-INS method are 0.9, 1.3, 2.2, and 0.9 m, respectively. Based on the same step model, the accuracy improvement of the heading angle cannot be completely reflected in the position error. Because the relative position of the phone and the human body is not fixed, the speed constraints and relative position constraints extracted from the step model sometimes do not conform to the actual situation.
3.4. Step Detection Failure between C-INS and E-PDR Methods
Based on the above description, the C-INS method can provide the same stable navigation performance (i.e., heading and position) as the E-PDR method, and also retain the basic property of SINS of autonomous propagation of pedestrian position by integrating acceleration and gyroscope data in the absence of training the step model. Therefore, the C-INS method will have the potential to change the current situation in the SINS-based method in which the mobile device cannot be applied in the field of pedestrian navigation for quick position error accumulation. In recent years, the performance of IMU built-in mobile equipment in the existing market has been greatly improved, so the C-INS method has the ability to maintain its navigation performance for several seconds when step detection is unavailable. However, step missing will greatly degrade the navigation performance of the E-PDR method because the E-PDR method only updates positions when a step event is successfully detected.
To explore this issue, we designed an experiment in which the missing of step events was manually set to investigate the autonomic position estimation ability of the C-INS method. We set a period of 13 s, and found that step detection failed in the first 3 s (approximately five steps), and that a step event was detected successfully in the next 10 s. The gait model was used to update navigation state, for a total of 10 cycles. As the position result shows in Figure 10
, the C-INS method exhibits a slight decrease in position accuracy when missing a small number of steps in the four basic phone-holding positions. However, the position result calculated by the E-PDR method is very sensitive to the step missing. If a pedestrian is walking at a normal velocity (i.e., 1.0–1.5 m/s), a 3-s period will cause a position error of approximately 3.5 m (a step length of 0.7 m).
In addition to self-position estimation capability, the C-INS method can provide high-frequency position results (e.g., 50 Hz) that are the same as the data-sampling rate compared with the E-PDR solutions (i.e., 1–2 Hz). The high-frequency 3D velocity is also available for the C-INS method. As shown in Figure 11
, the blue, green, and red solid lines represent the north, east, and down velocities, respectively. Figure 11
shows that the calculated velocity values are all at 1–2 m/s in the handheld, calling, and swaying positions, which are reasonable estimations for pedestrian walking velocity. In the pocket position, the velocity fluctuation is very large because each leg movement will cause a great acceleration of the smartphone. In this case, the average speed during a step circle is equal to the pedestrian’s walking speed.
4. Conclusions and Future Work
In this paper, we provide an advanced C-INS method using the built-in sensors of portable consumer devices. The C-INS method employs a gait model and motion constraints to provide pseudo-measurement (i.e., 3D velocity and 2D position increment) instead of using only pseudo-velocity measurements to realize a robust position estimation algorithm. In several real walking tests, we analyze the navigation performance differences between the E-PDR and C-INS method from three aspects: heading estimation, position estimation, and step detection failure. The C-INS method exhibits better performance in heading estimation and position estimation than the E-PDR method, because the C-INS method uses a gait model to improve the accuracy of roll and pitch angle, which is immune to the effects of external acceleration caused by personal daily activity. Moreover, the C-INS method has the ability to maintain position estimation in case of step detection failure, which is the nature of INS autonomous calculation.
It is foreseeable that mobile phone ownership will grow at an unprecedented rate. The quality of the built-in smartphone sensors are also expected to be greatly improved. Under these circumstances, the unsolved problem of smartphone-based PDR (i.e., misalignment angle estimation) may be well resolved by the powerful self-calculation ability of the C-INS method. Currently, the C-INS method can provide higher-frequency (e.g., 50 Hz) output, more abundant information (e.g., 3D velocity and height), and more robust heading and position estimation than the E-PDR method.
In future work, we plan to test and verify which grade of IMU will support the C-INS method to fix the issue of misalignment angle estimation. And more complex navigation scenarios will be used to evaluate the performance of C-INS, including movement between floors, elevators, opening/closing doors and changes in walking speed. In addition, some other absolute position measurements or distance measurements (e.g., UWB, vision, Wi-Fi, and BLE) will be used to control the position drift of C-INS.