This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).

Step counting-based dead-reckoning has been widely accepted as a cheap and effective solution for indoor pedestrian tracking using a hand-held device equipped with motion sensors. To compensate for the accumulating error in a dead-reckoning tracking system, extra techniques are always fused together to form a hybrid system. In this paper, we first propose a map matching (MM) enhanced particle filter (PF) as a robust localization solution, in which MM utilizes the corridor information to calibrate the step direction estimation and PF is applied to filter out impossible locations. To overcome the dependency on manually input corridor information in the MM algorithm, as well as the computational complexity in combining two such algorithms, an improved PF is proposed. By better modelling of the location error, the improved PF calibrates the location estimation, as well as step direction estimation when the map information is available, while keeping the computational complexity the same as the original PF. Experimental results show that in a quite dense map constraint environment with corridors, the proposed methods have similar accuracy, but outperform the original PF in terms of accuracy. When only partial map constraints are applied to simulate a new testbed, the improved PF obtains the most robust and accurate results. Therefore, the improved PF is the recommended DR solution, which is adaptive to various indoor environments.

Location awareness is the basic requirement for developing new exciting location-based services (LBS). Compared to common applications supported by outdoor positioning techniques, like the Global Position System (GPS), it is extremely challenging to provide similar ubiquitous and affordable services in indoor environments. Unlike GPS, providing almost full coverage for the whole Earth’s surface, indoor localization provides a solution in a quite smaller scale. The cellular base station-based indoor localization technique [

The most favored indoor technology has been WiFi access points, which is because of their comparable large coverage, and yet, they provide a satisfying solution in certain circumstances [

The infrastructure-based techniques can be categorized into two types, namely training algorithms and non-training algorithms. The training algorithms work based on the assumption that the received signals are different in various locations. The first step is to collect the signal patterns in different ground truths. The signals undergo off-line processing to obtain a reference database. A received real-time signal on the receiver is then compared with those in the database, and the best match location is returned. Non-training techniques always rely on distance estimation. In a dense deployment scenario, a multilateration technique can be applied. Given the same deployment, the training algorithms always return more accurate results compared to the non-training algorithms. However, the training algorithms are vulnerable to environment changes, and the training is labor intensive.

To decrease the cost of deployment, dead-reckoning (DR) techniques relying on inertial measurement unit (IMU) sensors have been proposed [

Although additional indoor infrastructure is still necessary in order to provide the initial location estimate and performs as the calibration reference, the DR method reduces the demand on the density of the deployment. The DR method provides quite accurate displacement estimation within a short path. The placement of the sensor results in different strategies to calculate the displacement. An intuitive computation method is to double integrate the accelerations in the global coordinate. The fast increasing error is compensated for by a method called zero velocity update (ZUPT) [

The recent development of motion sensors in smart phones has made the DR algorithm for general pedestrians possible. Considering the tremendous demand from pedestrians, it is worth providing a localization solution in the scenarios when a smart phone is used. Step counting is a well-known algorithm to estimate the displacement when the sensors are not placed on the foot. From the readings of acceleration, it is able to tell if a pedestrian has walked a step. The step displacement is estimated after each step, which is then added to the previous location estimate. That is why it is called step counting. A step counting algorithm is constituted by step detection, step length estimation and step direction estimation. Step length estimation generally returns satisfactory results, and it can be further improved by a simple training process.

Step direction estimation is the most challenging component, as it is sensitive to error in the sensor’s orientation estimation. In order to accurately determine the sensor’s orientation, the known direction of the Earth’s gravity and the magnetic field are required. Let the global coordinate be east-north-up (E-N-U), which coincides with the sensor’s

In this paper, we focus on dealing with the error in direction estimation, which is helped by incorporating the indoor map information. In this paper, we first propose a new step counting algorithm with the map matching (MM) method. It is based on the observation that the pedestrian tends to walk along a quasi-straight line when he is in a corridor. Once this walk pattern is detected and there is a nearby corridor, the estimated location is mapped to the corridor, and the step direction and the sensor’s orientation is calibrated by the known corridor’s direction. The drawback of the MM algorithm is that the required narrow corridors are not always available in an indoor environment. To compensate for such a drawback, we also propose a hybrid solution. The map matching algorithm is applied as a supplementary algorithm of the particle filter (PF), which is called the MM-enabled PF, to form a more robust solution. In the end, we propose an improved PF, which simulates the uncertainty in the step direction estimation. The particles with the wrong location estimation are more likely to be the ones with the wrong direction estimation, which would be eliminated by map constraints. The improved PF returns a more robust result, with less computational complexity compared to the MM-enabled PF.

The sensor we use is ADIS16405BMLZ [

The sensor we used and the setting for data collection.

In order to perform the experimental study, our laboratory was chosen as the indoor tracking testbed. The layout is shown in

Experimental testbed with walls and obstacles.

The rest of the paper is organized as follows.

DR algorithms have been widely applied in indoor localization, as in [

The motion sensor we use comprises a three-axis accelerometer, a three-axis gyroscope and a three-axis magnetometer. If the initial orientation is known, the subsequent orientation is updated by the angular rate returned by the gyroscope. The Earth’s magnetic field and gravity can be used to obtain the initial orientation and to compensate for the accumulating errors of orientation from the gyroscope. In an ideal environment with identical magnetic field and gravity, the sensor’s orientation could be accurately determined.

It is obvious that the fundamental requirement is to compute the sensor’s orientation accurately, so that the acceleration in the sensor coordinate can be accurately resolved to the global coordinate. However, because of severe magnetic interference in an indoor environment, that is not an easy task. Several attempts have been made to eliminate the effect of magnetic disturbance, like the work in [

To improve the DR tracking results, map information has been widely used, as the map information is available to landowners. Map filtering is applied to eliminate impossible particles, like walking through a wall or an obstacle, which is quite effective in an indoor environment with lots of walls and obstacles. References [

The existing algorithms only use map information to distinguish accessible and inaccessible areas. More improvement can be achieved by applying MM. MM has been applied for outdoor environments in road tracking [

Before proceeding to describe our proposed method, we briefly describe the original step counting DR technique. A step counting method derives the current location by adding the estimated step displacement to the previous location, which can be expressed by:
_{n}_{n−1}_{n}d_{n}_{n}_{n}_{n}_{n}_{n}

In order to resolve _{n}_{n}

Given a known magnetic field and measurements from the accelerometer and magnetometer, [

In this paper, _{0}_{0}

Because the indoor magnetic field is unstable, only the direction of the Earth’s gravity is used to calibrate the orientation estimation.

A step is detected by the pattern of the acceleration. It is concluded from the observation that a step is detected by a successive peak and valley. Although each component of three-axis acceleration can provide step detection results, it is argued in [

Different step length estimation algorithms have been compared in [^{r} a_{n}

Principal component analysis (PCA)-based step axis estimation is favored because of its robustness. We use an improved PCA-based algorithm to estimate the direction, as described in [

An example of the performance of the pure step-counting algorithm is given in

An example of localization results by pure step counting.

It is useful to incorporate indoor map information to improve the location results. Previous works have applied indoor map information in map filtering techniques, which eliminates location estimates in impossible areas. However, the accumulating error of the step direction will still eventually lead to large uncertainty in the location estimate. Map matching will relieve this problem.

The particle filter is normally implemented to apply the map filtering technique. The PF implements a recursive Bayesian filter using the Sequential Monte-Carlo method. It is particularly useful in solving non-linear and non-Gaussian problems. A set of random samples with weights, called particles, are used to represent the posterior probability density of the state, which is given by:
_{n}_{1:n}_{s}_{s}_{s}

The weight update equation is given by Equation (5), where

In the step counting algorithm, the system update and measurement update are executed after each step. During the system update phase,
_{n}d_{n}_{n}_{n}

A rule for pedestrian walking is that a pedestrian cannot walk through walls or obstacles. Particles with this motion are seen as invalid, so the weight is updated according to the following equation:

Step direction estimation error results in large localization errors. To reduce the direction estimation error, we propose a map matching algorithm to calibrate the estimate when the user is walking in a corridor.

A corridor has two possible directions. Suppose one direction of the corridor is ^{c}

Condition-1: Suppose six consecutive steps are with directions {_{n − j}_{n − j}

Condition-2: Suppose the corridor is represented as line segment, _{n}_{−}_{j}

Condition-3: The average direction _{avg}^{c}

Condition-1 ensures that the pedestrian walks straight, which is the typical pattern when people walk in a corridor. Condition-2 ensures that the track of the pedestrian is close to the corridor. Condition-3 is based on the fact that the error in direction estimation is with a limited angle. These three conditions ensure that the person is walking along a corridor, and even in the worst case that he or she is not, the resulting error is limited by the conditions. After that, the direction with 180° ambiguity is chosen by Equation (8), as the error in direction estimation will not exceed 90°.

Large errors in direction estimation occur when the pedestrian is making a turn. Therefore, the estimates from the last turn to the current step need to be calibrated (based on at most the previous 20 steps), if the projections of their locations to a corridor (represented as _{t}_{n−Nt}_{c, n−Nt}_{n−Nt}_{c, n−Nt}

In 2D space, a counter clockwise rotation of a vector through angle _{t}

The locations are then calibrated by Equation (10) using the rectified direction estimate.
_{n−j}_{n−j}_{−1} + _{n−j}_{t}

The sensor’s orientation estimate,

Unlike PF being executed at every step, the MM algorithm is triggered only when a pedestrian is considered to be walking along a certain corridor. Our simulation shows that to return the tracking results for the same route, MM based on the step counting algorithm takes 1/6 the CPU time compared to the one using the PF (100 particles).

A performance comparison of the pure step counting and the one with MM is shown in

Performance comparison of pure step counting and the one with map matching.

Although the MM algorithm provides reliable results with less CPU cost, the required narrow corridors may not always exist in an indoor environment. In addition, it does not require full use of the map information. Moreover, the administrator needs to manually state the coordinates and directions of the selected corridors. Therefore, it is better to perform the MM as a supplementary algorithm to other techniques, rather than as a primary technique.

In this paper, we apply an MM- on PF-based step counting algorithm, which is called MM-enabled PF. Suppose the location of a turning step is _{n−Nt}_{c, n−Nt}_{t}_{c, n−Nt}

The particles for the subsequent steps are updated by Equation (12) using the rectified direction estimation. The weight update rule remains the same.

A performance comparison between the original PF and the MM-enabled PF is shown in

Performance comparison of particle filter (PF) and PF + MM (map matching).

In this section, we propose an improved particle filter that models the localization error better than the original one and, thus, returns more accurate results. From the previous discussion, it is known that the step direction estimation always suffers from the error in the sensor’s orientation estimation. Because of the uniqueness of the Earth’s gravity, reliable vertical and horizontal components of acceleration are decomposed, which turns out to be accurate step length estimation using Equation (3). Therefore, the position update equation for PF can be written as:

To further explain the algorithm, the performance of the pure step counting algorithm shown in

Because of the robustness of the length estimation and direction estimation during line-mode walk, _{1} = 0.

For the original PF, the estimated direction always equals _{n}

A performance comparison between the previous original PF and our improved PF is shown in

Performance comparison of PF and the improved PF.

Two routes are chosen for the experiment. For each route, 10 trials of data are collected when a pedestrian walks along each route with a motion sensor. Whenever a certain point in the walking path is being passed, the timestamp of the passing is saved. There are 31 pieces of ground truth with timestamps for each route, 1 and 2.

Let the localization error be the distance between ground truth and estimated location. The average tracking errors for the 10 trials for each route are shown in

An example of the tracked results for route 1 and 2 given different algorithms.

Average (Avg) error for each trial (route 1).

Applied |
Average Error (m) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Avg | |

Step counting | 1.31 | 1.16 | 1.22 | 1.63 | 2.02 | 0.90 | 0.97 | 1.71 | 0.86 | 2.03 | 1.38 |

PF | 1.04 | 0.82 | 0.77 | 0.86 | 0.60 | 1.46 | 0.73 | 1.09 | 0.68 | 0.72 | 0.88 |

MM | 0.49 | 0.59 | 0.62 | 0.44 | 0.41 | 0.65 | 0.70 | 0.83 | 0.69 | 0.60 | 0.60 |

PF + MM | 0.68 | 0.67 | 0.61 | 0.68 | 0.68 | 0.75 | 0.60 | 0.86 | 0.88 | 0.77 | 0.72 |

Improved PF | 0.62 | 0.41 | 0.56 | 0.47 | 0.58 | 0.56 | 0.39 | 0.75 | 0.51 | 0.68 | 0.55 |

Average error for each trial (route 2).

Applied |
Average Error (m) | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | Avg | |

Step counting | 1.71 | 1.10 | 0.95 | 1.47 | 1.15 | 1.11 | 1.36 | 1.32 | 1.25 | 1.56 | 1.30 |

PF | 0.94 | 0.84 | 0.93 | 0.94 | 1.57 | 0.81 | 0.91 | 1.01 | 1.00 | 1.06 | 1.00 |

MM | 0.75 | 0.58 | 0.86 | 1.09 | 1.52 | 0.65 | 0.61 | 0.73 | 1.01 | 0.85 | 0.87 |

PF + MM | 0.48 | 0.72 | 0.78 | 1.14 | 1.27 | 0.50 | 0.58 | 0.72 | 0.86 | 0.75 | 0.78 |

Improved PF | 0.97 | 0.68 | 0.74 | 1.15 | 1.37 | 0.75 | 0.84 | 0.73 | 0.97 | 1.12 | 0.93 |

It is interesting to find that the MM-enabled PF does not further improve the performance. That is because there are many corridors in our map for MM to take effect, and the paths are along the corridors. MM alone is sufficient to obtain good results.

MM is triggered only when the pedestrian is in the corridor, which wastes the other map constraints’ information. MM-enabled PF is quite a natural method to retain the advantages of both algorithms. Our improved PF takes advantage of PF and improves direction estimation at the same time. In the next section, when less corridor information is given, we will see the improvement of such algorithms.

Previous evaluation has been carried out in an ideal corridor environment, like our lab. It is necessary to test the performance in another scenario. In this paper, the new scenario is virtually created by giving incomplete map information to the algorithms. From the algorithms’ perspective, it makes no difference compared to collecting the data in a physical new environment and using relative map constraints.

The incomplete map used.

The average accuracy for each of the trials with respect to the route and map are presented in

There is slight enhancement for MM and MM-enhanced PF, compared to step counting. Although from the average value, MM-enhanced PF performs worse than MM (1.31 m to 1.26 m), we find that MM-enhanced PF actually provides more robust results. When MM returns large error in trial 5 in

Average error for each trial (map 1, route 1).

Applied |
Average Error (m) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |

Step counting | 1.31 | 1.16 | 1.22 | 1.63 | 2.02 | 0.90 | 0.97 | 1.71 | 0.86 | 2.03 |

PF | 1.78 | 1.28 | 1.54 | 1.46 | 1.09 | 1.22 | 1.00 | 1.30 | 1.68 | 1.21 |

MM | 0.96 | 1.22 | 1.07 | 1.90 | 2.17 | 1.08 | 0.92 | 1.64 | 0.90 | 1.80 |

PF + MM | 1.65 | 1.22 | 1.42 | 1.20 | 0.86 | 1.38 | 1.38 | 1.24 | 1.28 | 1.24 |

Improved PF | 1.25 | 1.02 | 1.27 | 1.07 | 0.99 | 1.07 | 1.12 | 0.99 | 1.00 | 1.14 |

Average error for each trial (map 1, route 2).

Applied |
Average Error (m) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |

Step counting | 1.71 | 1.10 | 0.95 | 1.47 | 1.15 | 1.11 | 1.36 | 1.32 | 1.25 | 1.56 |

PF | 1.90 | 1.06 | 1.54 | 1.41 | 1.56 | 1.70 | 1.24 | 1.78 | 1.61 | 1.75 |

MM | 1.03 | 1.65 | 1.05 | 1.47 | 1.36 | 0.86 | 2.01 | 0.75 | 0.99 | 0.99 |

PF + MM | 2.00 | 0.81 | 1.62 | 1.47 | 1.63 | 1.74 | 0.83 | 1.61 | 1.83 | 1.79 |

Improved PF | 1.62 | 0.77 | 1.21 | 1.07 | 1.28 | 1.52 | 0.86 | 1.06 | 1.27 | 1.37 |

Average error for each trial (map 2, route 1).

Applied |
Average Error (m) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |

Step counting | 1.31 | 1.16 | 1.22 | 1.63 | 2.02 | 0.90 | 0.97 | 1.71 | 0.86 | 2.03 |

PF | 1.75 | 1.48 | 1.64 | 2.08 | 1.74 | 1.19 | 1.43 | 1.93 | 1.55 | 1.90 |

MM | 2.32 | 0.92 | 1.80 | 0.55 | 1.09 | 0.84 | 0.97 | 1.10 | 1.91 | 0.95 |

PF + MM | 1.80 | 1.01 | 1.36 | 0.89 | 0.87 | 1.05 | 1.17 | 1.13 | 1.62 | 1.05 |

Improved PF | 1.57 | 0.70 | 0.92 | 1.09 | 1.64 | 1.07 | 1.24 | 1.52 | 1.15 | 1.38 |

Average error for each trial (map 2, route 2).

Applied |
Average Error (m) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|

1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | |

Step counting | 1.71 | 1.10 | 0.95 | 1.47 | 1.15 | 1.11 | 1.36 | 1.32 | 1.25 | 1.56 |

PF | 1.38 | 1.29 | 0.88 | 1.45 | 1.48 | 1.21 | 1.03 | 1.37 | 1.21 | 1.26 |

MM | 1.41 | 0.77 | 1.03 | 1.29 | 1.31 | 0.97 | 1.01 | 1.43 | 1.14 | 1.84 |

PF + MM | 1.41 | 0.65 | 1.04 | 0.99 | 1.54 | 1.44 | 0.87 | 1.35 | 1.10 | 1.67 |

Improved PF | 1.58 | 1.26 | 0.91 | 1.49 | 1.43 | 1.19 | 1.21 | 0.89 | 1.14 | 1.31 |

Average error for each map and overall.

Average Over | Error for Applied Methods (m) | ||||
---|---|---|---|---|---|

Step Counting | PF | MM | PF + MM | Improved PF | |

Map 1 | 1.34 | 1.46 | 1.29 | 1.41 | 1.15 |

Map 2 | 1.34 | 1.46 | 1.23 | 1.20 | 1.23 |

Overall | 1.34 | 1.46 | 1.26 | 1.31 | 1.19 |

In this paper, a step counting algorithm with MM-enabled PF, as well as one with improved PF is introduced. Compared to existing works that apply PF to eliminate the particles with impossible locations, our algorithm calibrates not only the location, but also the sensor’s orientation and step direction, which reduces the error in the location update computation. To further improve the algorithm by avoiding specified corridor information, an improved PF is proposed, which calibrates the step direction estimation during map filtering. The algorithm has been evaluated experimentally in our laboratory using an in-pocket motion sensor. Experimental results have shown that in a dense map constraint environment with corridors, MM, MM-enabled PF and improved PF outperform the original PF. When partial map constraints are applied, the advantage of using the improved PF is shown, which returns more accurate and robust results. Furthermore, considering that the improved PF does not require the user to specify the corridor information, it is the most adaptive algorithm for various indoor environments.

This research was carried out at the National University of Singapore-Zhejiang University (NUS-ZJU) Sensor-Enhanced Social Media (SeSaMe) Centre. It is supported by the Singapore National Research Foundation under its International Research Centre at the Singapore Funding Initiative and administered by the Interactive Digital Media Programme Office.

The authors declare that there is no conflict of interests regarding the publication of this article.