 Research
 Open Access
 Published:
A human motion model based on maps for navigation systems
EURASIP Journal on Wireless Communications and Networking volume 2011, Article number: 60 (2011)
Abstract
Footmounted indoor positioning systems work remarkably well when using additionally the knowledge of floorplans in the localization algorithm. Walls and other structures naturally restrict the motion of pedestrians. No pedestrian can walk through walls or jump from one floor to another when considering a building with different floorlevels. By incorporating known floorplans in sequential Bayesian estimation processes such as particle filters (PFs), longterm error stability can be achieved as long as the map is sufficiently accurate and the environment sufficiently constraints pedestrians' motion. In this article, a new motion model based on maps and floorplans is introduced that is capable of weighting the possible headings of the pedestrian as a function of the local environment. The motion model is derived from a diffusion algorithm that makes use of the principle of a source effusing gas and is used in the weighting step of a PF implementation. The diffusion algorithm is capable of including floorplans as well as maps with areas of different degrees of accessibility. The motion model more effectively represents the probability density function of possible headings that are restricted by maps and floorplans than a simple binary weighting of particles (i.e., eliminating those that crossed walls and keeping the rest). We will show that the motion model will help for obtaining better performance in critical navigation scenarios where two or more modes may be competing for some of the time (multimodal scenarios).
1 Introduction
Indoor navigation is an exciting research and development area that promises new applications for many aspects of our lives. Whereas positioning and navigation outdoor have become ubiquitous and affordable over the last decade or so, providing similar services in indoor environments is extremely challenging. Depending on the required degree of accuracy a number of approaches are being followed [1–3], ranging from high sensitivity GNSS, dedicated wireless systems to inertial navigation as well as various combinations. In this article, we will focus on inertial navigation for pedestrians and the application is continuous and online meterlevelaccuracy positioning with either footmounted sensors [4] or other suitable forms of pedestrian dead reckoning (PDR) [5, 6]. PDR is based on the principle that we can detect and estimate individual steps of a person. A simple step counter can be used to estimate distance traveled [7] and if we estimate heading changes then we can also estimate the relative location change over time. An advanced form of PDR uses one or more inertial measurement units (IMUs) mounted on suitable parts of the body (e.g., the foot); we perform a true six degrees of freedom navigation integration, usually aided during resting phases (e.g., the wellknown zero velocity updateZUPT) [4]. Every form of PDR suffers from errors which might be modeled, for instance, as angular and distance random walks [8]. The result is a random walk error in relative location which implies that the estimated location drifts over time.
The posterior distribution of the estimated user position can sometimes be multimodal. Noisy and heterogeneous sensors measurements are the main reason for such multimodal posterior distribution. Furthermore, the use of an unbalanced weighting function in a sequential Bayesian positioning system might also lead to such multimodality. For example, in [9–11], the authors used walls to weight the particles in an effectively binary fashion (i.e., particles that cross wall obtain very low weights). In such case, it can be shown that a single particle that is remaining outdoors when tracking a pedestrian who had walked into a building from outdoors can result in a multimodal posterior since this particle will not cross walls and will most likely be resampled. As a matter of fact, in some situations this can occur in the majority of particle filter (PF) runs depending on the size of the cloud for instance at building entrances or near neighboring entrances leading to different rooms or corridors.
Researchers in the navigation community tend to address the multimodality problem in PFbased positioning estimators in two ways:

a.
Use a sufficiently large enough number of particles and as time progresses, the particles will again converge around the correct user position (single mode). Particles in the wrong modes will become eliminated since they will cross walls sooner or later. This is shown in [9].

b.
Assuming that at some point a more accurate position sensor measurement will be available and result in awarding a higher weight to the correct part of the posterior distribution.
However, the above approaches only work when the pedestrian is moving within a building with relatively small rooms or corridors, as explained in [12]. With the use of known building layouts to constrain the error in these approaches, particles are being given extremely low weight when they try to cross a wall in the map, and this process helps to constrain the particles to walkable areas. However, during the estimation process it may happen that the particle cloud is split into two or more modes due to a wallso they enter two different rooms. If the room size differs, then the bigger room has the advantage that particles will not run into walls as often as inside the smaller room. For example, let us now consider the two competing groups (modes or "clouds") of particles, one in an unconstrained area (e.g., a very large room or even outside the building) and one in an area with strong constraints such as walls, and that the second group is actually close to the pedestrian's true location and following her track. Both groups of particles will generally follow the relative motion of the person but the second group of particles will suffer a significant reduction in its populationthose of its members that explore the entire PDR error state space but run into walls. The first group, however, will suffer no such losses and eventually dominate, in particular as a result of resampling. This kind of failure is probably relatively unlikely in typical indoor scenarios because the first (erroneous) cloudif such a cloud exists at all, which can sometimes be the casewill more often run into a wall before it has a chance to dominate the particle population. However, in a longterm usage scenario it is only a matter of time before such events may occur, resulting in very large and probably permanent position errors until a second source of location can be obtained (e.g., GNSS, wireless localization). An example is when a pedestrian is walking in areas that exhibit very differently sized rooms and structures (such as a conference center) and our indoor/outdoor example (see Section 2.1) could be replicated in a situation where a large conference hall is close to more constraining rooms and corridors. Multimodal situations arise when a person walks past a door at an angle and a certain fraction of the particles walk through the door as well. We have also observed it occasionally in practice when a cloud of particles followed the user's path into a building but not all particles went through the door or were eliminated directly by the building walls.
The underlying problem with the aforementioned simple weighting approaches is the fact that they do not correctly model human motion in buildings (in a probabilistic sense). The optimal human motion model constitutes the underlying state process model for the sequential Bayesian estimator, and needs to be included in the estimator (e.g., PF). When performing PF with PDR, one typically uses the likelihood particle filter (LPF) [9]. The LPF [13] uses an important density that is based on the likelihood and uses the prior for weighting the particles. Actually, many implementations of the standard PF do it the other way round (proposing from the prior and weighting with the measurement likelihood). However, in the case that the measurement likelihood is much tighter (more accurate) than the prior, the posterior distribution will look more similar to the measurement likelihood than to the prior. And since the importance density should be chosen to represent a close approximation to the posterior, using a better approximation based on the likelihood, rather than the prior, has been shown to improve performance [13]. In this article, we draw particles according to a proposal density that reflects the PDR step measurement (i.e., we draw from the measurement likelihood distribution). If implemented correctly, then we should then weight the particles with the state transition (human motion) model. A simple motion model might be a Gaussian function in terms of location and heading change. Using such a model willin addition to simple binary weighting with wall crossingslead to the failure explained previously when the competing particle clouds are walking in different surroundings and there are (erroneous) particles that happen to be in an area with few or no constraints. As we shall see, a more realistic human motion model will not just eliminate particles that cross walls but rather reward those that follow a trajectory compatible with the building layout.
For the important opposite case where the first ("unconstrained") group was closer to the pedestrian's true location than the second group ("constrained"), it is very improbable that the actual path the user follows in the unconstrained area is consistent with the wall situation of the constraint area. Therefore, particles will be eliminated due to the wall restrictions in both algorithms investigated in this article: the traditional motion model and the proposed motion model.
The rest of this article is organized as follows: We begin by introducing the motivation for this study and the underlying system structure. We then present a motion model that is used in the weighting stage of the LPF and that is based on a gasdiffusion model similar to [14]. After briefly presenting the experimental setup, we show how the proposed model can overcome the abovedescribed problem in case of multimodal posterior distributions with different modes existing in areas with very different degrees of motion constraints.
2 Motivation, related work, and system architecture
In this section, the motivation and related work are described in Section 2.1, followed by a description of the overall system architecture (Section 2.2).
2.1 Motivation for a motion model based on maps and related work
Map matching is widespread used in navigation systems for vehicles and pedestrians. Map matching [15, 16] in general is the concept in which tracking data are related to maps. In this study, the objective is to improve the location estimation by "snapping" the measurements to the nearest path (polyline) in the map [15, 17]. For instance, in [18–21], road maps are used in different systems for different applications like vehicle navigation, pedestrian navigation with mobile devices, vehicles in parking garages, etc. In these applications, it is assumed that the vehicle/pedestrian can only follow streets on the map. Here, it can be assumed that the vehicle heading is the same as the heading of the road segment, which is known from the map [18].
In our applications, this assumption does not hold and more than only road maps are of interest because in indoor navigation the size of the rooms varies and pedestrians are not only following road maps with equally sized "lines". Here, we have to consider more accurate floorplans where walls will restrict the motion. In addition, other obstacles like tables or cupboards could be considered since they are also hindering the movement of the pedestrian.
Floorplans are used in many applications in a rather simple way. In [11, 22], the particles are weighted by zero when the path is crossing a wall. With this, particles that are crossing walls are eliminated. In [9], similar values were used for weighting regarding the floorplans: a probability of zero (actually a very small value to allow a small fraction of particles to cross walls in the case of very inaccurate measurements or particle depletion) is applied when a particle's displacement crosses a wall. Otherwise, particles are weighted solely by the product of the likelihoods of other sensors and by a very simple motion model that might reward slower speeds or smaller angular changes (the weighting from the floorplan is thus effectively very close to unity for all particles not crossing walls).
In this article, we propose a weighting function for PFbased positioning estimators that takes consideration of the heading distribution at each location and which is based on known maps. The principle is similar to the socalled movement models based map matching where the map is used to restrict the otherwise probabilistic movement of the tracked object. The main objective of this article is to increase the robustness of sequential Bayesian positioning estimators through proposing a motion model that awards higher weights for particles that follow motion which is compatible with walls and so the more constrained the heading options at that location are. In other words, particles that follow a path that do not cross walls will be rewarded more when in areas with more limited angular options.
To illustrate this, let us assume thatat the beginning of our LPF estimationparticles were distributed equally inside and outside a building since the starting position of the pedestrian is known with only a very large uncertainty. In addition, we assume that the area outside the building is an open area where the pedestrian can walk everywhere. First, we investigate the traditional case of using only floorplans for weighting (no proper transition model): particles that are inside the building will obtain high (unity) weights if they do not cross walls. Particles outside the building will never obtain a very low or zero weight since they never cross walls. For the case where the tracked pedestrian is inside the building, a significant portion of the group of particles inside the building will cross walls and as time elapses will be eliminated more and more as a result of the resampling step. On the other hand, all the particles outside the building will have high weights since they are not crossing walls at all. Resampling will result in increasing the number of particles outside the building and decreasing the number of particles inside the building. This will result in divergence of the algorithm over time. Even without resampling and a very large number of particles, the posterior distribution will tend toward the outside group, since the density of particles will be much higher outside.
Second, we examine the case of using an accurate motion model that incorporates the knowledge of maps and floorplans. Particles inside the building will obtain high weights if they do not cross walls and are weighted with the motion model. Particles that are outside the building will obtain moderate weights for all headingsthe angular probability density function (PDF) is equally distributed in this case. For the case where the pedestrian is inside the building, the measurements will follow a path through the walkable areas within the building. Accordingly, particles inside the building will obtain higher weights compared to the ones outside the building. Resampling will result in increasing the number of particles inside the building and an improvement of performance and reliability.
There exist other techniques to reduce the heading error of a PF system. For instance in [11], the authors apply a backtracking PF, where the state estimates are refined based on particle trajectory histories. A Backtracking PF recalculates the previous state estimation without invalid trajectories to improve performance. Since in our case all paths are possible except across walls/obstaclesno invalid trajectories exist in our simulation except when crossing wallsbacktracking will not help us to improve performance. Borestein et al. [23] proposed to compensate the heading drift by a heuristic heading reduction (HDR) algorithm that makes use of the fact that many corridors or paths are straight. With HDR, the gyro biases are corrected when it is detected that a person walks a straight path to reduce the heading error. However, in our simulations we do not assume long straight paths. The pedestrian very often enters rooms, stands still, and turns around, so that the assumption for long straight runs does not hold. In [24], it is proposed to compensate the heading drift of an INS/EKF framework by a combination of a compass, the HDR, and zero angular rate update (ZARU) [25]. In these simulations, floorplans were not known. It is shown that the ZARU and HDR alone will not improve performance and only the combination of the two methods with a compass will improve the results. In our system, we actually use a compass but the assumption for long straight runs does not hold. In addition, we want to show the influence of known floorplans and how it can help to reduce the possible heading drift.
Finally, there exist techniques to include the height for better positioning. In [26], a barometer height estimation with topographic maps (outdoor environment) is investigated and it is shown that it can improve performance in a GPSINSbased system. In the simulations of this article, the pedestrians walk only through the ground floor so that it is not necessary to measure the height. However, in a building with more than one floor, the height has to be considered. The motion model can then be extended to the 3D case as described in [27] and measurements of the height can be included in the overall system design.
2.2 Cascaded estimation architecture
In many applications, strapdown inertial sensors are integrated into a navigation system using a direct/indirect extended Kalman filter together with a strapdown navigation computer [9, 28, 29]. However, we use the cascaded approach proposed in [9] because of the following reasons: the Kalman filter is based on pure kinematic relations between velocity, position, attitude, and sensor errors. In this study, the dynamics of the tracked object (e.g., a person traveling by foot) are not considered. In addition, the prior knowledge about the object dynamics coming from accelerometer and gyroscope cannot be exploited, because no likelihood function is used to incorporate these measurements.
To overcome this problem, the cascaded estimation architecture as illustrated in Figure 1 proposed in [9] is taken. Here, a lowerlevel Kalman filter is used to process the highrate (typically >100 Hz) data of the footmounted inertial system. With the upper fusion filter, further prior dynamic knowledge about the pedestrian can be integrated at a much lower temporal rate (typically at around 1 Hz).
The lower Kalman filter estimates the foot displacement (one human step of one foot) which also includes the heading change of the foot (and hence the body) per step. These values are taken as measurements within the upper main fusion filter. The measurements, here referred to as the stepmeasurements, enter the algorithm via a Gaussian likelihood function along with the measurements and likelihoods of further available sensors. In the upper filter, nonlinear properties of human motion (by means of a dedicated movement model) and other nonlinear effects such as building plans can be considered. For the upper level fusion filter, a PF [13, 30] is applied since it can process sensors and models that are highly nonlinear.
The main focus of this article is the motion/transition model that is based on the knowledge of maps and floorplans (see Figure 1). In [9], it was proposed to use a proper movement model at this place for weighting in a LPF. Here, a very simple movement model drawn from mutually uncorrelated zerowhite Gaussian noise processes, the variances of which are adapted to the movement of a pedestrian, is used for weighting. Instead of this simple movement model, an angular weighting function based on maps is used in this article. The main error process of the whole system is the heading drift; therefore, we focus only on weighting possible headings. The proposed motion model in our case is used for weighting particles in the PF of Figure 1. However, it can also be used in applications when prediction of heading is needede.g., in a movement modelin an indoor/outdoor environment with known floorplans and maps where the possible headings are reduced because of obstacles and walls.
When no reliable odometry measurements are available, a movement model is needed in our simulations. In this case, a normal PF is used instead of the LPF. In our simulations, this was only the case at the very beginning of the simulation runs. Here, a simple movement model like the one drawn from mutually uncorrelated zeromean white Gaussian noise processes, or more accurate movement model as of [27], can be used.
The PF will perform sensor fusion roughly every second or when triggered to do so by a specific sensor. In our case, we will perform an update cycle at the latest once every second and also upon each stepmeasurement.
3 A motion model based on maps
The weighting process in the LPF that uses no motion models for weighting is based on binary decisions: if a particle crosses a wall its weight is set to zero otherwise it is set to one and weighted solely by the likelihood functions of the other sensors. In this article, the weighting functions for the LPF are based on new angular PDFs. Weighting with other sensors' likelihoods will still happen. The angular PDFs are derived from a mapbased diffusion algorithm that can also be used as a movement model [27]. In this article, the diffusion algorithm taken from [14] is applied, which is extended for using maps with different degrees of accessibility and for handling floorplans in three dimensions [27].
The principle of the computation of the 2Ddiffusion matrix is described in Section 3.1. Section 3.2 describes the calculation of the new angular PDFs. In practice and in our implementation, the angular PDFs are precomputed and stored to reduce the computational effort during position estimation.
3.1 A 2DDiffusion matrix based on maps
The diffusion algorithm is derived from the principle of gas diffusion in space studied in thermodynamics and is commonly used for path finding of robots [31]. The idea is to have a source continuously effusing gas that disperses in free space and which becomes absorbed by walls and other obstacles. In [14], the diffusion model is used with the central assumption to have a source effusing gas which is one of the possible destination points. Here, a path finder (following the gradient) is needed for finding the path to that destination point. In contrast, we assume that the source of the gas is the current waypoint in this article, and we calculate an angular PDF from the gas distribution around this point. Accordingly, the pathfinding algorithm is not needed anymore.
To keep the model's complexity low, the diffusion matrix is confined to a rectangular area. The central assumption for defining the weighting function is that the possible headings follow the gas distribution, if the current waypoint is the source of the gas. Topographical maps and floorplans contain useful information that influences pedestrian movement such as the different types of areas which have different degrees of accessibility. Examples of these areas are forests, fields, streets, ways, meadows, coppices, flowerbeds, houses, walls, etc.
Typically, people do not walk through less accessible areas like cultivated fields. Most probably people stay on dedicated paths or streets (e.g., on the pedestrian sidewalk). Walls are not passable, whereas houses may be entered through doors. Inside, not only house floorplans are used, but also more detailed maps could be considered: The areas where many kinds of furniture stand (tables, cupboards, etc.) are not accessible. On the other hand, chairs are accessible. Therefore, the idea is that additionally to floorplan maps are included in the motion model to handle the degree of accessibility. To handle the degree of accessibility, we define the layout map matrix Lwhich is considered in the computation of the diffusion matrixin a new way:
where N_{ x } × N_{ y } is the size of the rectangular area. In our case of computing weights from the diffusion values, a square area is used. For inaccessible points (e.g., walls and closed areas), the values of the layout map matrix are set to be zero. For the accessible areas, the layout map matrix will have different values depending on the accessibility. According to the accessibility of a specific area, the values v lie between 1 and 255. The most accessible areas will have a value v of 1, whereas the least accessible area will have a value v of 255. We chose the values to be between 0 and 255 because of the memoryefficient representation of a singlebyte value. These values give reasonable values in the diffusion matrix.
The diffusion process with these newly defined values of the layout map matrix is as follows: the point that represents the source effusing gas is the current waypoint (x_{ m } , y_{ m } ). We use a sliding square window, where the current waypoint is the middle point of that window:
where N_{ x } = Ny and N_{ x } is oddnumbered. For each waypoint, a socalled diffusion matrix D_{ m } is precomputed. The diffusion matrix for a particular waypoint contains the values for the gas concentration at each possible waypoint when gas effused from that source point. For this, a filter F of size n × n is applied:
The diffusion is expressed by a convolution of the diffusion matrix D_{ m } with the filter matrix F elementwise multiplied by the layout map matrix L:
Here, the values l_{ i, j } represent a weighting of the diffusion values according to their accessibility at the location (i, j).
Constantly refreshing the source is represented by forcing
at the waypoint. Equation 4 is evaluated repeatedly until the entire matrix is filled with values that are greater than zero (except for walls and closed areas):
Figure 2 shows the layout map matrix adequate for our simulation environment. The walls are depicted in black, not easily reachable forest area is marked with dark gray, and flowerbed areas are drawn in light gray. The area where people may walk is drawn in white. In addition, the stairs area is marked in blue. The diffusion results after reaching steady state are given in Figure 3, where the gas concentration is high in the dark red area and low in the blue area. One can see that gas coming from the source (waypoint) close to the center of the area effuses faster in the white areas (dark red color) and slower in the dark gray areas. In addition, gas will not flow in closed rooms of the building.
By using maps, one can easily handle restricted areas, forests walls, etc. In addition, one can precisely define areas where a person may stand and where not both in indoor and outdoor environments.
3.2 A motion model based on the diffusion algorithm
The computation of the diffusion matrix is the prerequisite for the computation of an angular PDF. Instead of using predefined destination points and calculating the directions to a specified destination pointas it is the case when applying the diffusion movement model for weighting [27], the source of the gas is, in our case, the actual waypoint. The advantage of taking the actual waypoint as the source of the gas is that we can obtain a weighting function directly from the gas distribution. Another advantage is that the pathfinding algorithm is not needed anymore and the weighting is totally independent of any notion of destination points such as those used in the movement model presented in [27]. In addition, we can in practice restrict the rectangular area to a small area around the actual position, so that the computational effort is much lower. Finally, one can consider storing the PDF values during runtime instead of precomputing the whole area.
The motion model is directly derived from the gas distribution. Figure 4 shows the gas distribution from one waypoint within a cutout of the floorplan of Figure 2. One can see that the gas is restricted to the areas where it can flow. Walls are restricting the gas from flowing. From this diagram, we can choose a threshold for obtaining a contour line of the gas distribution. From this contour line, we directly obtain the angular weighting function using the distance from the waypoint to the contour line. When the gas is reaching a wall, the contour ends at the wall and the distance is equal to the distance to the wall. Figure 5 shows the polar diagram for the weighting function. The weight is higher for the directions where the persons may walk. Since it is possible to stay in front of a wall (not crossing), a small distance is applied for the directions pointing toward the wall for the case that the waypoint is close to the wall. When particles actually cross a wall, their weights are set to a very small value just as in the standard approach.
The angular PDF is obtained as follows: the contour line of the diffusion matrix represents our weighting function. Therefore, we have to determine this contour line first. Here, we specify for the diffusion area a set c of N_{ c } contourline points . The contour line points can be obtained by checking all the diffusion values to be below a certain threshold T. If a diffusion value at (k, l) is below that threshold:
and the diffusion values of at least one neighboring point (direct neighborhood) is greater than the threshold T:
then, the position (k, l) is part of the set of contour lines:
Walls are included in this computation, since for a point on the wall the following equation holds:
Figure 6 shows the contour line of the diffusion values marked in dark red (T was set to 0.0001, 0.001, and 0.01, respectively). Here, the size of the square window could be reduced when the threshold is increased.
The value of the angular PDF for an angle α is obtained via the distance of the current waypoint (x_{ m } , y_{ m } ) to the contour line point that lies in the direction of that angle α. Here, α is the absolute angle when drawing a line from the contour point to the waypoint (x_{ m } , y_{ m } ) in a coordinate system where (x_{ m } , y_{ m } ) represents the middle point. The distance b between the current waypoint and the point of the contour line (k, l) is defined as:
The values for the nonnormalized weighting function are obtained by the maximum of possible distances to points of the contour line with a specified angle:
where φ(k, l) is the absolute angle between the contour point C(k, l) and the actual waypoint (x_{ m } , y_{ m } ).
In addition, it is checked if the direct line of the waypoint to the contour line points crosses a wall. The contour line points that cross a wall are not considered in the computation of the weighting function, since directions to points behind a wall should not be favored.
Finally, the weighting function is normalized:
In our simulation, we used discrete values for angle α. The angle bin size was 5° and we had 72 different values for computing the weighting function. These values seemed to be sufficient for obtaining a smooth weighting function.
From the angular PDF in Figure 5, one can see that angles in the direction to floors are favored and angles showing toward walls receive a lower weight. This reflects the pedestrian behavior: for a walking person it is more probable to walk through doors, large rooms, and floors than to walk directly to the walls. To adapt the histogram to the speed of the pedestrian, the following equation is applied:
where S is the step length of the particle. The motivation for powerrelationship is that the weight update in a PF is multiplicative over time steps. Since we want the weighting above to take into account only the traveled heading, we need to normalize the weighting to a certain distance traveled. Otherwise, particles traveling a given distance in a larger number of shorter steps would be weighted more often than a particle traveling the distance in fewer steps.
In the case of really crossing a wall, the weight is set to a very small value. For the case when almost all of the particles cross a wallthis might happen very rarelyno weighting is applied, because we suspect an erroneous event such depletion and will count on the particle cloud to spread again and be constrained correctly by walls in the sequel.
4 System design and implementation
The developed model was tested and evaluated using an already available distributed simulation and demonstration environment for positioning indoors and outdoors. The environment is based on sequential Bayesian estimation techniques and allows pluggingin different types of sensors, Bayesian filters, and motion models/proposal functions.
Several ground truth points were carefully measured to the subcentimeter accuracy using a tachymeter. The tachymeter employs optical distance and angular measurements and uses differential GPS for initial positioning. The Leica smart station (TPS 1200) was used for this purpose. The sequential Bayesian positioning estimator that was used for evaluating the performance of our movement model was based on the following:

1.
Based on a PF fusion engine.

2.
Integrating the new map and floorplansbased motion model.

3.
Using the following sensors: commercial GPS, electronic compass, and a footmounted IMU with ZUPTs processed with an extended Kalman filter for PDR [9].
The test user was requested to walk through a predefined specific path that is passing through several of our ground truth points and through some of the rooms in our office building. The exact path and the ground truth points are shown in Figure 7. Whenever the test user passed across one of the ground truth points, the estimated position at that point was compared to the true position. Errors between the true and estimated pedestrian positions were recorded and visualized for the two cases: with and without the use of our newly developed motion model. Some results will be given and discussed in the following section.
5 Performance analysis
Figure 8 shows the average position error of our LPFbased estimator for an assumed shoemountedIMUbased PDR with a resulting perstep odometry noise of 0.065 m (additive white error in x and y per step) and 1° (additive white heading error per step). The additive nature of this noise that means the PDR error is cumulative. The red curve shows the average position error of the estimator when our developed motion model is used, while the black curve shows the error when binary walls restrictions are used as a replacement for the motion model. In our simulations, we averaged the position error of 100 PF runs for a single walk. An average position error of 1.50 m is found for the nonmotion model case and an average position error of 1.33 m is observed when our mapbased motion model is used.
The reader might ask why the use of the motion model did not improve the estimator performance noticeably in this one example. To explain this result, we have to note the high degree of belief that we put in the shoe odometry estimates (0.065 m & 1.0°). Actually, when the odometry estimates are that accurate, the benefit of integrating the motion model becomes less visible, as long as the pedestrian is being tracked in a unimodal situation. In addition, the restriction due to walls during the walk within long corridors and small rooms for both models already restricts the motion in that way that no improvements will be noticeable. Only at the very end of our simulation, where the person walked to the exit of the building and went outside, the motion model shows improvements: due to the weighting function the particles get more directed to the straight path outside. This result brings us back to the basic question: "In a Bayesian approach, when one has a very accurate measurement, is a transition model needed?" Of course the answer is no for perfect measurements, but in reality, these are never achievable. The degree of belief in the shoe odometry estimates might not always be that high due to possible degradations of the shoemounted IMU performance.
On the other hand, implementations that are using only floorplans in a binary way (no proper motion model) will work only in special cases and will fail in many others as discussed in Section 2.1. These cases do not occur very often in the short experiments that are currently stateoftheart but might become very relevant during longer usage in the real world. To illustrate both scenarios described in Section 2.1 on real data, visual outputs of the visualizer of our LPF estimator were taken for the same dataset and are shown in Figures 9 and 10. However, in this case we added a second cloud of particles few meters behind the correct cloud to provoke the insideoutside (twomode) particles scenario. The same total number of particles is kept as in Figure 8 for performance comparison. In this case, when the pedestrian enters the building, the correct group of particles will follow him/her indoors while the added group of particles will remain outside.
In each of the small images, the following are shown:
➢ The floor plan of our office environment.
➢ Particles are shown using a colored mapped cloud of dots where darker dots are particles with higher weights. The arrows connected to the dots show the headings of the particles.
➢ The red dots marked as GTRPs represent the ground truth points.
➢ The blue dot with an arrow connected to it represents the MMSE position and heading.
➢ The green dot with an arrow connected to it shows the last received GPS measurement while the arrow shows the compass measurement.
The outputs of the scenario where no motion model is used are shown in Figure 9. We can see that the lack of a proper motion model resulted in the wrong group of particles surviving and the correct group disappearing. On the other hand, the results of the scenario where our mapsbased motion model is used are shown in Figure 10. The proper motion model compensates the loss of particles because of wall crossings and results in the survival of the correct particles group. As time elapses, the correct particles' cloud is continuously rewarded and resampling results in eliminating the wrong cloud. The above example shows that floorplans can improve motion models but not replace them. An optimal pedestrian motion model should do more than only incorporating maps and floorplans. From a Bayesian estimation perspective, it should be stressed that the simple movement model does not very accurately model the likelihoods of a person following different paths when comparing constrained and unconstrained starting points. We believe our estimator to be more accurate in this sense.
Figure 11 shows the average position error of both scenarios. The average position error in Figure 8 where our motion model is used is again shown here (blue curve) for comparison. As expected and discussed in Section 2.1, the two clouds scenario where the mapsbased motion model is used has shown much lower average position error compared to the case where only walls are used. It is clear that many researchers [9–11] did not especially consider these scenarios when evaluating their estimators based on a simple use of floorplans.
Comparing the unimodal case with the bimodal one, we can see that as soon as the second cloud disappears (at 130 s in Figure 11), the average error performance of the two scenarios becomes similar.
6 Conclusion and outlook
In this article, we presented a motion model for pedestrians that use a known building layout for constructing an angular PDF for the likelihood for a pedestrian's step direction for all the locations in the target area. We have demonstrated that a simple PF that only uses knowledge of walls to constrain particles can fail if the particle distribution is multimodal and competing, erroneous particles are in areas with few limiting wall in their vicinity. This is due to the continuous loss of particles belonging to the correct group (mode) as they hit walls while in the constrained area. Using the proposed motion model, we achieve a more realistic weighting in an LPF and alleviate this problem. The model itself is very simple to implement: it is based on a gas diffusion model that uses a vector representation of the building plan for calculating a local diffusion gradient from each point which is then used for computing the angular weighting function. This means that the computationally expensive diffusion needs only to be computed once, and the weighting function is stored in a grid database in an angular discrete fashion. It has been shown that weighting with the motion model performs better than using no motion model when there are two groups of particlea group inside and a group outside the building.
Owing to the effort required to obtain groundtruthed measurement data we have only evaluated the approach for a single dataset. Here, a person entered a building from the outside (with GPS available) and henceforth walked in the building with the position being computed using the LPF. This single set is sufficient to demonstrate the failure event which we can provoke by introducing a second (erroneous) mode of particles. Additional datasets would be required to quantify any improvements over the simple PF in the normal, nonfailure case. Furthermore, we should assess how often multimodal situation occur in practice when using mapassisted PDR in realworld applications.
Abbreviations
 HDR:

heuristic heading reduction
 IMUs:

inertial measurement units
 LPF:

likelihood particle filter
 PDF:

probability density function
 PDR:

pedestrian dead reckoning
 PF:

particle filter
 ZUPT:

zero velocity update.
References
 1.
Koyuncu H, Yang H: A survey of indoor positioning and object locating systems. IJCSNS Int J Comput Sci Netw Secur 2010, 10(5):121128.
 2.
Mautz R: Overview of current indoor positioning systems. Res J Vilnius Gediminas Tech Univ Geodesy Carteogr 2009, 35(1):1822. ISSN 13921541
 3.
Liu H: Survey of wireless indoor positioning techniques and systems. IEEE Trans Syst Man Cybern C: Appl Rev 2007, 37(6):10671080.
 4.
Foxlin E: Pedestrian tracking with shoemounted inertial sensors. IEEE Comput Graph Appl 2005, 25(6):3846. 10.1109/MCG.2005.140
 5.
Mezentsev O, Lachapelle G, Collin J: Pedestrian dead reckoninga solution to navigation in GPS signal degraded areas? Geomatica 2005, 59(2):175182.
 6.
Kourogi M, Ishikawa T, Kameda Y, Ishikawa J, Aoki K, Kurata T: Pedestrian dead reckoning and its applications. In Proc ISMAR workshop: Let's Go Out: Research in Outdoor Mixed and Augmented Reality (ISMAR2009). Orlando, USA;
 7.
Crouter SE, Schneider P, Karabulut M, Bassett DR: Validity of 10 electronic pedometers for measuring steps, distance, and energy cost. Med Sci Sports Exer 2003, 35(8):4551460.
 8.
Angermann M, Robertson P, Kemptner T, Khider M: A high precision reference data set for pedestrian navigation using footmounted inertial sensors. In International Conference on Indoor Positioning and Indoor Navigation 2010 (IPIN 2010). Zürich, Switzerland; 2010.
 9.
Krach B, Robertson P: Integration of footmounted inertial sensors into a Bayesian location estimation framework. In Proc 5th Workshop on Positioning, Navigation and Communication 2008 (WPNC 2008). Hannover, Germany; 2008.
 10.
Woodman O, Harle R: Pedestrian localisation for indoor environments. In Proc of the UbiComp 2008. Seoul, South Korea; 2008.
 11.
Widyawan Klepal M, Beauregard S: A backtracking particle filter for fusing building plans with PDR displacement estimates. Proc of the 5th Workshop on Positioning, Navigation and Communication 2008 (WPNC'08) 2008, 207212.
 12.
Khider M, Kaiser S, Robertson P, Angermann M: Maps and floor plans enhanced 3D movement model for pedestrian navigation. In Proceedings of the ION GNSS 2009. Georgia, USA; 2009:790802.
 13.
Arulampalam S, Maskell S, Gordon N, Clapp T: A tutorial on particle filters for online nonlinear/nonGaussian Bayesian tracking. IEEE Trans. Signal Process 2002, 50(2):174188. 10.1109/78.978374
 14.
Kammann J, Angermann M, Lami B: A new mobility model based on maps. Proceedings of VTC 2003 2003, 5: 30453049.
 15.
Brakatsoulas S, Pfoser D, Wenk C: On mapmatching vehicle tracking data. Randall Salas, VLDB 2005.
 16.
Scott C: Improved GPS positioning for motor vehicles through map matching. In Proceeding of ION GPS94. Salt Lake City; 1994.
 17.
Tradišauskas N, Tiešytėdalia D, Jensen CS: A study of map matching for GPS positioned mobile objects. 7th WIM Meeting, Uppsala, Sweden, September 2004
 18.
Davidson P, Collin J, Raquet J, Takala J: Application of particle filters for vehicle positioning using road maps. 23rd International Technical Meeting of the Satellite Division of The Institute of Navigation, Portland, OR 2010, 16531661.
 19.
Han YQ, Chen JB, Liu ZD, Song CL, Zhao DH: A new correction method for dead reckoning navigation system based on digital map. In Proceedings of the Ninth Int. Conf. on Machine Learning and Cybernetics. Qingdao; 2010:13781383.
 20.
Gusenbauer D, Isert C, Krösche J: Selfcontained indoor positioning on offtheshelf mobile devices. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation. ETH Zürich; 2010.
 21.
Wagner J, Isert C, Purschwitz A, Arnold K: Improved vehicle positioning for indoor navigation in parking garages through commercially available maps. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation. ETH Zürich; 2010.
 22.
Klingbeil L, Romanovas M, Schneider P, Traechtler M, Manoli Y: A modular and mobile system for indoor localization. In Proceedings of the International Conference on Indoor Positioning and Indoor Navigation. ETH Zürich; 2010.
 23.
Borestein J, Ojeda L, Kwanmuang S: Heuristic reduction of gyro drift in IMUbased personnel tracking system. In SPIE Defense, Security and Sensing Conference. Orlando, Florida, USA; 2009:111.
 24.
Jimenez AR, Seco F, Prieto JC, Guevara J: Indoor pedestrian navigation using an INS/EKF framework for yaw drift reduction and a footmounted IMU. In 7th Workshop on Positioning, Navigation and Communication 2010 (WPNC'10). Dresden, Germany; 2010.
 25.
Rajagopal S: Personal dead reckoning system with shoe mounted inertial sensors. Master of Science Thesis, Stockholm, Sweden 2008, 145.
 26.
Bevermeier M, Walter O, Peschke S, HaebUmbach R: Barometric height estimation combined with mapmatching in a looselycoupled Kalmanfilter. In 7th Workshop on Positioning, Navigation and Communication 2010 (WPNC'10). Dresden, Germany; 2010.
 27.
Khider M, Kaiser S, Robertson P, Angermann M: A three dimensional movement model for pedestrian navigation. European Navigation ConferenceGlobal Navigation Satellite Systems 2009 (ENCGNSS 2009), Napoli, Italy 2009.
 28.
Grewal M, Weill L, Andrews A: Global Positioning Systems, Inertial Navigation, and Integration. Volume 5. 2nd edition. IEE Radar, Navigation and Avionics Series, Wiley, New York; 2001.
 29.
Titterton DH, Weston JL: Strapdown Inertial Navigation Technology. Volume 5. 2nd edition. IEE Radar, Navigation and Avionics Series, Peter Peregrinus Ltd., London; 2004.
 30.
Gordon N, Salmond D, Smith A: Novel approach to nonlinear and nonGaussian Bayesian state estimation. Proc Inst Elect Eng 1993, 140: 107113.
 31.
Schmidt GK, Azam K: Mobile robot path planning and execution based on a diffusion equation strategy. Adv. Robot 1993, 7(5):479490.
Acknowledgements
We would like to extend our thanks to Michael Angermann for his fruitful discussions, encouragement, and support.
Author information
Affiliations
Corresponding author
Additional information
Competing interests
German Patent application: S Kaiser, M Khider, P Robertson, Verfahren zur Positionsbestimmung von sich bewegenden Objekten.
Authors’ original submitted files for images
Below are the links to the authors’ original submitted files for images.
Rights and permissions
Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
About this article
Cite this article
Kaiser, S., Khider, M. & Robertson, P. A human motion model based on maps for navigation systems. J Wireless Com Network 2011, 60 (2011). https://doi.org/10.1186/16871499201160
Received:
Accepted:
Published:
Keywords
 indoor positioning
 multisensor navigation
 particle filtering
 human motion models
 maps