1. Introduction
Self-contained inertial sensors have made foot-mounted pedestrian navigation an ideal way for positioning in emergency response missions under Global Positioning System (GPS)-denied environments, due to its independence from pre-installed infrastructures or predefined databases. With the adoption of Zero-velocity UPdaTe (ZUPT)-aided Extended Kalman Filter (EKF) algorithm, the cubic-in-time error growth for positioning is reduced to linear [
1], thereby revealing the great potential of foot-mounted pedestrian navigation for practical use. However, many causes, including the deviations of low-cost Micro Electro Mechanical Systems (MEMS) Inertial Measurement Units (IMUs), especially the gyroscopes, can cause heading errors that accumulate over the long term, consequently resulting in positioning failure. There are three main reasons for heading error accumulation: (1) The Earth’s rotation. The turn rate of the local navigation frame with respect to the Earth’s frame is perceptible over the long term, reaching up to 15 degrees per hour. Furthermore, as many magnetic disturbances exist in an indoor environment [
2], the direction of North can hardly be identified by a magnetometer. Therefore, the Earth’s rotation rate cannot justifiably be eliminated. (2) Measurement error. The angular rate measured by the gyroscopes suffers from different error sources, such as turn-to-turn random biases, instability over operation temperature range,
etc. [
3]. (3) Limitation of ZUPT-aided EKF algorithm. From an observability analysis of the ZUPT-aided EKF algorithm, roll and pitch errors are observable while the heading errors are not, demonstrating that the algorithm fails to bound heading errors [
4]. Consequently, many methods are proposed to compensate the errors at a higher level than the trajectory-generation phase, namely the trajectory-calibration phase.
Anchors are effective for compensating the errors originating from the trajectory-generation phase, and are widely used in many trajectory-calibration methods. Traditional anchor-based methods can be divided into two types according to the
a priori knowledge of the anchor map. If the anchor map is known beforehand, measurements from anchors can be directly adopted to calibrate trajectories; otherwise, the trajectory and the anchor map should both be estimated during the course of positioning, and it can be recognized as the Pedestrian Dead Reckoning (PDR) + Simultaneous Localization and Mapping (SLAM) problem. The first type includes methods relying on a predefined database such as Wireless Fidelity (WiFi) or magnetic fingerprints, to aid positioning [
5,
6]. Some other methods [
7,
8] use the densely deployed Ultra-Wide Bandwidth (UWB) and Radio Frequency IdentiFication (RFID) anchors to provide range from the anchors to the pedestrian, through Time of Arrival (ToA) and Received Signal Strength (RSS) measurements. The other type includes both the SemanticSLAM [
9] and SmartSLAM method [
10], which read unique points, like WiFi access points, in the surroundings as landmarks, combining them with PDR to form the SLAM framework. The SignalSLAM method [
11] further adopts mixed signals as landmarks, including WiFi, Bluetooth, 4G Long Term Evolution (LTE) and magnetic signals.
Traditional anchor-based methods have remarkable performance in improving positioning accuracy. However, they either rely on an intact predefined database or on pre-installed infrastructures, such as WiFi access points and a UWB transceiver. Therefore, the system’s self-containedness is disrupted in these methods, and are thus not suitable for special applications, such as Search and Rescue (SAR), where self-containedness is crucial. From these anchor-based methods, we know that anchors are in essence additional information or measurements, to bound the raw trajectories from PDR. We expect to find a special anchor able to calibrate trajectories and still maintain the system’s self-containedness. Introducing
a priori information of building structures as anchors could feasibly perform this task. The simplest way is to introduce floorplans of a building [
12,
13]; however, maps for buildings are not always available. Another method called Heuristic Drift Elimination (HDE) [
14] adopts the partial information of the floorplan: the discrete domain directions. By assuming that the walking trajectories are generally aligned with these discrete directions, the heading drifts can be compensated. But in situations where the real heading significantly deviates from the domain directions (very common when the pedestrian walks complex paths, e.g., circles), the correction procedures may result in large positioning errors, due to the wrong heading estimation. Another method called Human behavior Aided Heading elimination (HAH) [
15] has made some improvement on the HDE method, by combining human walking behavior with domain directions to increase accuracy. However, because it still relies heavily on pre-defined domain directions, it has the same limitation as the HDE method.
The authors have proposed a “virtual” anchor-based approach for pedestrian navigation, which combines the notions of anchors with building structures. Compared to traditional anchor-based methods, it only relies on IMUs without any additional sensors or infrastructures. The “virtuality” denotes that anchors are extracted from the pedestrian’s trajectory in real time, and are considered to be the inferred characteristic of the building structures. Then a Rao-Blackwellized particle filter (RBPF) is adopted to perform anchor association (loop-closure detection) and position calibration. In our implementation, although the anchors are not distinguishable from each other according to their unique feature, we propose a new strategy to perform the anchor association, which awards the particles with associated anchors. This will be elaborated upon later in this paper. The experimental results have shown the effectiveness and robustness of the proposed method.
Figure 1 presents the overall framework of the proposed method, where both the anchors and the trajectory are the inputs to the RBPF.
3. Rao-Blackwellized Particle Filtering Framework
By approximating real posterior density with finite samples, a particle filter can be used to perform nonlinear filtering, which is widely adopted in the field of navigation and positioning. A RBPF is a special particle filter that can make use of any linear Gaussian sub-structure to lower the dimensions of the state space to be estimated. Therefore, the number of particles needed to represent the state space is decreased [
19]. In a SLAM problem, an RBPF can be used because the state space is naturally partitioned into the map and the position. In the field of robotics, the adoption of an RBPF can significantly decrease the number of particles needed and can convert the updating of maps to a simple linear Kalman filtering problem. Thus dramatically increasing the computation efficiency. Therefore, the adoption of the RBPF in a robotic SLAM problem is also called Fastslam [
20].
Inspired by the Fastslam approach, we have proposed a new method to increase the accuracy of pedestrian navigation in the RBPF framework. In the framework, we define and extract anchors according to the easily identified PIC structures of buildings, which are considered as a coarse “map” in the SLAM problem. With the built pedestrian’s motion model and anchor observation model, the positioning problem is converted to a SLAM problem using an RBPF. Each particle has its own set of anchors (or “map”) and the anchor association is performed on a per-particle basis. For reweighting the particles, we have made a strategy that rewards the particles with more anchor association. In our implementation, these particles have better trajectory consistency (i.e., less error growth with time) at revisits. The experimental results have demonstrated the good performance in increasing the accuracy of pedestrian navigation.
3.1. Basics of the Filtering
From the perspective of the probabilistic description, the filtering is to estimate the posterior density
, where
is the horizontal position vector of the pedestrian,
denotes the anchor map,
is the observation,
is the driven vector for the pedestrian, and the suffix
indicates the
th step. Note that the filtering is step-wise, because the positions of the pedestrian are updated each time the pedestrian takes a step in the human motion model. If we ignore the anchor-involved states like
and
, the posterior becomes
and it is the motion model. Therefore, if no anchors are defined or used, the filtering results degenerate to the raw trajectory. To increase the location accuracy, we have merged the anchor-involved states
and
into the probabilistic model. On the surface, it seems that the redundant elements in the probabilistic model have increased the complexity of the filtering by adding the dimensions of state space to be estimated. However, if loop-closure happens and the anchors are correctly associated,
i.e., the anchors in the anchor map are re-observed, the correlation between the anchors would become increased and the joint probability density on all anchors
would become peaked [
21]. Note that the position vector
is also correlated to the anchor map, so the uncertainty for the position estimation is diminished and the accuracy increased.
As
Figure 7 suggests, the generative probabilistic model of our approach is similar to that of a robotic SLAM problem. However, there are two unique features in the generative probabilistic model in our implementation. The observation may be very sparse or even non-existent. This may result from the reason that the pedestrian is walking in an unrestricted area and there are no PIC structures to form an anchor. However, this is very unlikely because the PIC structures are very common in buildings. Also, as the posterior density suggests, in the worst case, the positioning accuracy degenerates into that of the raw trajectory. The observation of anchors is under the assumption that it has a one-to-one mapping relationship with real anchors. This is not always true because the observation of anchors can also be extracted from a specific segment of trajectory in an open area. However, occasional wrong observation of anchors would not affect the positioning accuracy much, because they are highly unlikely to be re-observed. From the conditional dependence in
Figure 7, the posterior
can be factorized in Equation (4) similar to a SLAM problem, where the position update
is carried out in a particle filter and the map update
is carried out in a Kalman filter.
3.2. Motion Model
To recursively acquire particles sampled from
, particles sampled from the proposal distribution
should be examined first. This proposal distribution is the motion model and
is the particle set at time
. The driven vector
is defined in a PDR (Pedestrian Dead Reckoning) way and is described in our previous work [
15]. It is comprised of two components
, where
is the translation and
is the heading change in one step. Thus the equation of the motion model can be written as:
In Equation (5),
is the position vector of the pedestrian and
can be considered as system noise. In our implementation, the proposal noise is chosen to be Gaussian and is proportional to the magnitude of
. This is based on the experience that greater translation
and heading change
generally means larger readings from the IMU, which will have larger measurement noise. Based on these facts, the noise particles are chosen in Equation (6). The coefficients
and
are chosen according to the performance of the inertial sensors, which is described in [
15]. In this paper, we use the value 0.02 and 0.05 for
and
, respectively, and subtle change in the values is insignificant for the performance of the method.
The new particle set
is sampled from
and can be written as:
3.3. Measurement Model and Anchor Update
As described in
Section 2.2, the extraction of anchors is essentially an observation of anchors from the trajectories. Although observed anchors have a one-to-one mapping relationship with real anchors, observation noise still exists. Here we will describe the measurement model and analyze the noise. When an anchor is extracted from the raw trajectory, it means that there is an anchor in each trajectory hypothesis represented by the particle
. Thus the measurement model can be considered as the probabilistic distribution of the observed anchors conditioned on each particle
, where
is the estimated position of anchors. In our implementation, the observation is the horizontal position of the extracted anchors. As
Figure 8 shows, because of the randomness of a pedestrian’s walking, the position of the extracted anchors is also random. For example, there are several possible anchors extracted from three different pairs of intersectant line segments in
Figure 8. This randomness is regarded as observation noise and the noise is assumed to be 2-D Gaussian distributed for the purpose of similarity. As the anchor updating process is related to the covariance of the noise, the largeness of the noise should be ascertained. Here, the
ellipsoid is chosen to describe this largeness, where the percent probability of the extracted anchors lying in the
ellipsoid can reach up to 98.9%. In fact, the ellipsoid becomes a red circle and its radius is set to at 2 m, which matches the real scale of common corridors. The radius should be increased if the corridors are much wider. These assumptions and parameters are all made based on ground truth, and the influence of different settings will be studied in the future.
If a new extracted anchor is associated with a previously extracted one, the position of the anchor should be updated according to the observation. The updating can be written in a probabilistic form in Equation (8) and this can be carried out in a Kalman filter if we assume that the distributions are all Gaussian.
In this situation, the time update process of the Kalman filter is ignored, because we assume the estimated position of the anchor does not change until it is re-observed. We mainly focus on the measurement update part, which is proceeded each time the anchor is re-observed. Here we first discuss the measurement update when an anchor is observed the second time. It has three steps and the suffix is the number of times the anchor is observed.
Calculate the Kalman gain in Equation (10), where
,
and
are defined in Equation (9).
Update the estimated position of an anchor
in Equation (12), where
and
are shown in Equation (11), noting that
is the previous estimated position of an anchor.
Update the covariance of the
in Equation (14), where
,
and
are shown in Equation (13).
This can be easily extended to the third time the same anchor is observed, or even afterwards. The results show that the more an anchor is observed, its error covariance decreases and further observations have a less significant influence on its estimation. This can be explained by the fact that the error of an inertial system grows with time when the observations originated from the inertial system.
3.4. Weight Update and Anchor Association
The anchor association problem is to associate the current extracted anchor with previously estimated anchors, which is carried out on a per-particle basis. Although it seems that an anchor extracted at a turning point does not have the unique feature needed to be distinguishable from other anchors, we can perform the anchor association based on the error models of the anchors and award the anchors matching the anchor map. The anchor association strategy can be described as follows.
The anchor association is based on the error range: if a previously estimated anchor’s position
is within the error range of the new observation
, it is associated with the previous anchor and should be used to update the anchor position; otherwise the observation is assigned to a new anchor. Please note that the measurement model has already been outlined in
Section 3.3, and the
ellipsoid is counted as the error range of an observation. The results of anchor association are related to the weight update process of the particle filter, which is specified as following.
In a RBPF, the importance weight of particles is gained in Equation (15). If we consider the anchor maps have a peaked posterior (previous anchors have less errors), then the importance weight is
. However, this is true only for the particles associated with the observation. For those unassociated anchors, they should also be assigned importance weight. We adopt a strategy to reward the associated particles in order to improve filter convergence and to ensure that anchor maps matching particles have more chances of “survival.” The rewarding function is written as
, where the input
is the percentage of the associated anchors and the output
is the sum of normalized importance weight for the associated anchors. The rewarding function should satisfy the two conditions: it should cross the point of (0,0) and (1,1); it should lie on the upper part of the line
and should be convex (to make sure the particles with associated anchors gain more weight). In fact, there are numerous such functions. Inspired by the excite functions commonly used in neural networks, we chose the function with the form
, where
is a normalizer to make the function cross the point (1,1) and
denotes the extent of convex. We know that if the rewarding function is more convex, the less the particle weights are dispersed. In this way, the extent of convex will affect the rate of particle convergence. Based on that, we can guess that the final positioning accuracy is insensitive to the extent of convex. We also adopt real-scenario data to validate the estimation as shown in
Figure 9.
From
Figure 9a, we can see how the different values for the parameter
affect the extent of convex of the rewarding function. The extent of convex grows if
is larger. In
Figure 9b, we can see that the final positioning error changes little when
varies from 10 to 25. It has validated our guess that the error is insensitive to the value of
within some range. We can also see that if
is too small, the reweighting of particles would be insignificant and the error would grow to the level of raw trajectory. If
is too large, the particles would be too concentrated, thereby destroying the diversity of particles and sometimes leading to large errors due to lack of robustness.
Overall, we chose the function
as shown in
Figure 10, where
equals 15 according to the curve of
Figure 9a and the normalizer
equals 0.6648 to make sure the rewarding function crosses the point (1,1). After the weighting process, the particles are resampled [
22] to eliminate particles with small importance weights and duplicate particles with significant weights. Then the current position of the pedestrian is estimated with the average position of the largest group of particles with the same data association.
4. Tests and Experiments
All the raw trajectories are acquired from a module developed by the researchers. This module is a Multiple Inertial Measurement Unit (MIMU) platform with eight IMUs and has much lower measurement noise than a single IMU. The advantage of a MIMU platform has already been described in detail in [
23], so it will not be discussed here. The module is also designed for convenient use. As shown in
Figure 11, the PCB board is designed to fit in the insole-shaped shell, so that the module can be easily placed into shoes to conduct pedestrian positioning. The inertial measurements data are processed in real time using the classical ZUPT-aided EKF algorithm. The step-wise raw trajectory data is stored in a built-in flash memory and can be acquired from a USB interface.
We have conducted three different real-scenario tests to demonstrate the effectiveness of our method in
Figure 12,
Figure 13 and
Figure 14. They have diverse anchor revisit numbers and are depicted respectively. The trajectories in all tests have the same starting and ending point, so that the final positioning error can be easily calculated through the distance between the start and the position of the estimated ending point in the trajectories. As for the headings errors, they are calculated from the heading differences between the pre-defined true trajectory and the estimated trajectory. Such errors are often adopted to evaluate the positioning performance, as in [
14]. We have also added the floor plan in the figures, to make the trajectory more meaningful.
The typical office scenario with many anchor revisits. This experiment is conducted in a typical office building and the trajectory has multiple iterations with a total length of about 523 m. There are abundant PIC walks and many revisits, so that a great deal of the anchor information can be adopted to calibrate the errors. As shown in
Figure 12, the consistency of iterations of the calibrated trajectory (blue) are significantly higher than in the raw trajectory (red);
i.e., heading errors are suppressed.
A library scenario with few anchor revisits is shown in
Figure 13. There are many random walks with only partial iteration in the scenario. The total walking distance is about 729 m with only one anchor revisit (black dot) as shown in
Figure 13a. It is hard to identify the true trajectory; however, we can tell the accuracy through the trajectory consistency of the area, which is purposely visited multiple times. From the upper right part of trajectory, we can see that our method has better consistency and has improved positioning accuracy.
A library scenario with no anchor revisits. Without any revisits of anchors, the positioning error cannot be calibrated. The accuracy will degenerate to raw trajectory as shown in
Figure 14. The raw trajectory and the calibrated one coincide with each other (the blue trajectory). The results of this test may be obvious according to the principle of our approach; however, we still need the test to confirm the superiority over other domain direction assumption-based approaches, which will lead to positioning failure if the assumption does not stand.
Table 1 is a summary of quantitative results, including the heading error and the positioning errors (the percentage of positioning errors relative to the total travelled length is shown in the brackets) from the three tests, which shows that: with anchor revisits, the method is effective in suppressing both positioning and heading errors, even though there is only one revisited anchor; with no anchor revisits, the accuracy will degenerate to that of the raw trajectory (the minor difference is due to the randomness of noise added to the particles).
Our method is dependent on the structure of buildings. However, compared with other building structure-based methods, it has two remarkable advantages. The assumption on the building structure is minimum. Unlike the HDE methods, it does not need the condition that pre-defined domain directions exist in the whole building. It only needs the partial existence of the PICs, which is common in almost every building. The method will not lead to positioning failure when the assumption is not valid, and its accuracy at worst is the accuracy of raw trajectory. This advantage makes the method more flexible and robust than other building structure-based methods. We have conducted another experiment to demonstrate the improvements of our method over another building structure-based method [
15] referred to as HAH, which combines eight pre-defined discrete domain direction and human walking behaviors to calibrate trajectories. Please note that the HDE method is not compared here, because it is not suitable for the random walk trajectory in our experiment.
The experiment has a total walking distance of about 995 m. The trajectories are compared in
Figure 15 and the positioning errors are compared in
Table 2. Our method has the best consistency and has lowered the error from about 2.0 m to 0.3 m, with the percentage of error relative to the distance traveled from 0.2% to 0.03%. The HAH method relies heavily on pre-defined directions, so that some sub-trajectories’ headings are falsely calibrated, especially in the areas where the trajectories are curves. Therefore, the error of HAH reaches up to about 7.5 m, even more than the error of the raw trajectory. This experiment can also demonstrate the robustness of our method.
Figure 16 shows the raw trajectory and the extracted anchors (green ones denote first visited anchors; black ones denote their association with previous anchors). As we can see, the extracted anchors are intensive and the method sometimes has an incorrect anchor association. Because the pedestrian deliberately crossed the anchors with the ranges of a book shelf during the library walk, the extracted anchors are very close to each other and can lead to wrong anchor association. However, as the anchor association is based on a per-particle basis, partial wrong data association will not greatly affect the overall accuracy. In other words, this method is robust enough to cope with the intensive anchor situation, where wrong anchor association is unavoidable.
5. Conclusions
An anchor-based method for pedestrian navigation is proposed in this paper. In contrast to traditional methods, it does not rely on any extra infrastructures beside the IMUs. The anchors are extracted from the raw trajectory, according to the PIC structure of buildings. These anchors serve as observations and are fused into the Rao-Blackwellized particle filter framework. If revisits of anchors exist, both positioning and heading error are suppressed after the filtering.
The experiments have shown that our method is effective in calibrating trajectories, whether there are abundant revisits or very few. Moreover, this method is robust enough to cope with the obscure anchor problem, where extracted anchors are very close and inaccurate data association is unavoidable.
Compared with other building structure-based methods, advantages of our method are as follows: The assumption on building structure is minimum and valid in most cases. It only needs the existence of the PICs. Even if the assumption does not stand, the method will not lead to positioning failure, and the accuracy can still be kept the same as the raw trajectory at worst. However, the proposed method has the limitation that if no PICs exist in some highly irregular buildings, there would be no accuracy improvements over the raw trajectory. Solutions to this problem will be explored in future works through fusion information from other types of anchors.