{'fraction_non_alphanumeric': 0.024871737675663617, 'fraction_numerical': 0.005085879991077404, 'mean_word_length': 4.698614465488751, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 1, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 3, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A human motion model based on maps for navigation systems

Foot-mounted 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 floor-levels. By incorporating known floor-plans in sequential Bayesian estimation processes such as particle filters (PFs), long-term 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 floor-plans 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 floor-plans 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 (multi-modal scenarios).


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][2][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 meterlevel-accuracy positioning with either foot-mounted 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 well-known zero velocity update-ZUPT) [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][10][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 PF-based 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 wall-so 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 population-those 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) cloud-if such a cloud exists at all, which can sometimes be the case-will more often run into a wall before it has a chance to dominate the particle population. However, in a long-term 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 will-in addition to simple binary weighting with wall crossings-lead 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 gas-diffusion model similar to [14]. After briefly presenting the experimental setup, we show how the proposed model can overcome the above-described 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).

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][19][20][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 floor-plans 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.
Floor-plans 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 floor-plans: 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 floor-plan is thus effectively very close to unity for all particles not crossing walls).
In this article, we propose a weighting function for PF-based 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 so-called 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 that-at the beginning of our LPF estimation-particles 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 floor-plans 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 floor-plans. 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/obstacles-no invalid trajectories exist in our simulation except when crossing walls-backtracking 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, floor-plans 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 floor-plans 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 GPS-INS-based 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.

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 lower-level Kalman filter is used to process the high-rate (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 step-measurements, 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 floor-plans (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 zero-white 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 needed-e.g., in a movement model-in an indoor/outdoor environment with known floor-plans 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 zero-mean 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.

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 floor-plans in three dimensions [27].
The principle of the computation of the 2D-diffusion 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 pre-computed and stored to reduce the computational effort during position estimation.

A 2D-Diffusion 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 path-finding 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 floor-plans 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.  Figure 1 Cascaded Bayesian location estimation architecture [9] with upper PF (dark gray) and lower Kalman filter for stride estimation (light gray). The focus of this study is the transition model based on the 3D map database that is used within the PF.
Step displacement refers to calculation of one human step based on the inertial measurements and is effectively a down-sampling from the IMU data rate to the rate of the upper filter. Its output is a Gaussian distribution representing our PDR estimate of the latest (human) step.
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 floor-plans 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 floor-plan 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 L-which is considered in the computation of the diffusion matrix-in 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 memory-efficient representation of a single-byte 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 odd-numbered. For each waypoint, a so-called diffusion matrix D m is pre-computed. 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 element-wise 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 d x m ,y m := 1 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.

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 pre-defined destination points and calculating the directions to a specified destination point-as 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 path-finding 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 pre-computing 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 floor-plan 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 contour-line points c 1 , ..., c N c = x 1 , y 1 , . . . , x N c , y N c . 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:   C(k, l) ∈ C. (9) Walls are included in this computation, since for a point on the wall the following equation holds: (10) 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 non-normalized weighting functioñ w 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 power-relationship 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 wall-this might happen very rarely-no 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.

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 plugging-in different types of sensors, Bayesian filters, and motion models/proposal functions.
Several ground truth points were carefully measured to the sub-centimeter 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 floor-plans-based motion model. 3. Using the following sensors: commercial GPS, electronic compass, and a foot-mounted 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 shoe-mounted-IMUbased PDR with a resulting per-step 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 non-motion model case and an average position error of 1.33 m is observed when our map-based 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 shoe-mounted IMU performance.
On the other hand, implementations that are using only floor-plans 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 state-of-the-art 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 inside-outside (two-mode) 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 maps-based 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 re-sampling results in eliminating the wrong cloud. The above example shows that floor-plans can improve motion models but not replace them. An optimal pedestrian motion model should do more than only incorporating maps and floor-plans. 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][10][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.

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 Figure 9 Particle cloud representation of a multimodal position estimation scenario (two particles clouds) using a PF-based estimator at different time instances in the case that walls are used as a replacement for the proper motion model. The scenario is based on the playback of real data, and the second cloud far from the building is added to provoke the case of multi-modality. As time elapses, particles that belong to the correct cloud cross more walls, get low weights, and get discarded because of re-sampling. The wrong cloud's particles do not cross walls, get good weights, and dominate at the end. 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 particle-a 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, non-failure case. Furthermore, we should assess how often multimodal situation occur in practice when using map-assisted PDR in real-world applications. Figure 10 Particle cloud representation of a multimodal position estimation scenario (two particles clouds) using a PF-based estimator at different time instances when our proper maps-based motion model is used. The scenario is based on the playback of real data, and the second cloud far from the building is added to provoke the case of multimodality. The proper maps-based motion model rewards the surviving particles inside the building since they will be consistent with the limited possible movement there. As time elapses, the loss due to walls is compensated and the correct particles cloud survives.

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. Figure 11 Average position error of a PF positioning estimator that is based on the playback of real data collected using a footmounted IMU, GPS, and a compass. For the black and the red curves, a second cloud far from the building is added to provoke the case of multimodality. The blue curve is generated with one correct cloud and accordingly shows the best performance with an average error of 1.33 m. The black curve results from the case where only walls are used as a replacement for the proper motion model. As time elapses, the wrong cloud dominates and a high average error of 22.84 m is observed. The red curve results from the case where our proper maps-based motion model is used. As time elapses, the correct cloud dominates and an average error of 2.92 m is observed. At 130 s, the wrong cloud vanishes and the red curve shows similar behavior to the blue curve.