Next Article in Journal
A Study on N2O Measurement Characteristics Using Photoacoustic Spectroscopy (PAS)
Previous Article in Journal
Examination of a Mechanical Amplifier in the Incudostapedial Joint Gap: FEM Simulation and Physical Model
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Indoor Magnetic Signature Based Localization Algorithm without Person-Dependent Parameter Calibration

by
Young Soo Suh
* and
Baatardorj Amarbayasgalan
Department of Electrical Engineering, University of Ulsan, Namgu 680-749, Ulsan, Korea
*
Author to whom correspondence should be addressed.
Sensors 2014, 14(8), 14375-14398; https://doi.org/10.3390/s140814375
Submission received: 24 February 2014 / Revised: 25 July 2014 / Accepted: 31 July 2014 / Published: 7 August 2014
(This article belongs to the Section Sensor Networks)

Abstract

: Location-dependent differences of ambient magnetic fields inside a building can be used to estimate location. In this paper, an inertial/magnetic sensor is attached to a belt position and its location is estimated using the ambient magnetic field. The walking distance is estimated using the linear relationship between the walking step length and the maximum acceleration during the step. The magnetic field data during walking is compared with a pre-collected magnetic signature. In this process, calibration steps are required for two person-dependent parameters : the walking step length estimation parameter and the hard iron parameter. An adaptive algorithm is proposed, in which these person-dependent parameters are estimated in addition to the location. Thus no person-dependent parameter calibration process is required. Through experiments, it is shown that the location and parameters are estimated accurately.

Graphical Abstract

1. Introduction

Recently much attention has been paid to indoor navigation [1], where a person's location is estimated in an indoor environment. The main applications of an indoor navigation algorithm are for first responders [2], handicapped people [3] and entertainment [4].

Techniques for indoor navigation can be divided into two groups. One is an inertial sensor-based method, which provides relative position by estimating heading and walking distance [58]. The main advantage of this method is that it does not require any infrastructure in the environment or prior knowledge of it. The main disadvantage is that only the relative position is provided and its position error becomes larger over time.

The other techniques are methods that require infrastructure in the building or prior knowledge of it. In [9], wireless signals are used to estimate the absolute location in the building. In [3,10,11], location-to-location variation of the magnetic field has been used to estimate position. The main advantage of this method is that it provides the absolute position and its position error is bounded. The main disadvantage is that it requires full knowledge of the indoor environment and it could be sensitive to wireless or magnetic disturbances.

Many practical navigation algorithms have tried to combine inertial sensor-based navigation algorithms with an absolute positioning method to compensate for each method's weakness [11,12]. In the combined algorithms, the inertial navigation algorithm is usually the primary navigation algorithm. The error accumulation of the inertial navigation algorithm is prevented by using an absolute positioning method. Compared with an absolute positioning only method, it requires less thorough knowledge of the indoor environment: if a person is in areas with no knowledge of the environment, the location can still be estimated using the inertial navigation algorithm.

Inertial sensor-based algorithms can be classified into two groups: one is using the inertial navigation algorithm to accurately estimate the position using an inertial sensor unit attached on a shoe [6]. The movement of the foot is estimated using an inertial navigation algorithm providing the three dimensional location. The other group roughly estimates walking length based on the output of accelerometer [8]. The accelerometer output can be used to detect how many steps a person has walked from the fact that one step walking length is related to one step walking time and the maximum acceleration (due to shock when a foot touches the ground). For example, it is known that one step walking length is proportional to the maximum acceleration during the walking step.

Although the first algorithm provides much more accurate position estimation, we used the latter algorithm since the inertial sensor location is not limited to the shoe. We note that inertial sensors should be placed on a shoe in the first algorithm to take advantage of zero velocity updating [13], where the velocity error is compensated using the fact that the velocity is zero when the foot is on the ground. Also, a cheaper accelerometer can be used in the latter algorithm.

Due to iron and other material, magnetic fields inside a building are not the same in different locations [14]. We measure and record magnetic field inside a building (this data is called magnetic signature data). When a person is walking inside a building, the measured magnetic field during walking (using three axis magnetic sensor) can be compared with the magnetic signature data to estimate the location. There are many algorithms that use this magnetic signature. They differ in regard to whether one-point data or multiple-point data are used, and whether the norm or the direct value of the sensor is used.

In [10], a one-dimensional location estimation problem has been considered both for a mobile robot and people. One-point magnetic sensor data was used in the measurement equation of a particle filter, where both the direct sensor value and norm value are tested. It was shown that the direct sensor value gives a better result. In [11], two dimensional location estimation problem was considered for people. A particle filter and one-point magnetic sensor data was used. In [3], multiple-point norms of magnetic sensor values are used to estimate a person's one-dimensional location. Magnetic signature data was collected at certain distance intervals. Magnetic sensor data during walking has also been collected at certain time intervals, where distance information is not known perfectly. This distance uncertainty was resolved using the dynamic warping method [15].

In previous studies, two parameters had to be obtained for each person. One parameter is a magnetic-related parameter due to magnetic elements in clothing, belt, and other items such as keys. This parameter is different for each person. Usually, to identify this magnetic parameter, a procedure of moving a magnetic sensor in a certain pattern is required (for example, a figure eight pattern) [16,17]. When a sensor is attached to the body, it is not always easy to move in a predetermined pattern. The other parameter is related to inertial sensor values and walking distance. Since walking pattern and style are different for each person, this parameter is also person-dependent [18]. To identify this walking parameter, a person needs to walk some known length (for example, using the method in [19]).

If the magnetic parameter is unknown, it is not easy to apply existing methods ([3,10,11]) for location estimation since the measured magnetic sensor data is corrupted by person-dependent magnetic elements. Thus the estimation accuracy using the magnetic signature becomes poor.

If the walking parameter is unknown, the walking distance is inaccurately estimated. Walking distance estimation is important because it is necessary for comparison between magnetic signature data (in which the distance between sampling points is exactly known) and the measured magnetic data during walking (in which the distance between the sampling points is estimated based on the walking distance estimation). Additionally, the location must be estimated using the walking distance when the magnetic signature is not available.

We propose an improved location estimation algorithm using the magnetic signature and assuming that we have the magnetic signature information about a building. The main merit of the proposed method is that it does not require any person-dependent calibration procedure. The two parameters are identified by the algorithm automatically, making the person-dependent calibration unnecessary. To the best of our knowledge, there has been no attempt to identify both parameters using magnetic signature information. The identification of the walking parameter is related to dynamic time warping techniques in [15], where walking distance is estimated. We note that walking parameter identification is not considered in [15].

2. Problem Formulation

The location estimation problem in a one-dimensional corridor is considered (see Figure 1). The corridor is divided into Ncell cells, where G is the length of one cell. The location is represented by the cell number m.

Two coordinate frames are considered: the navigation coordinate system and the body coordinate system. The z axis of the navigation coordinate system is assumed to coincide with the local gravitation direction (the z axis is in the upward direction). The x axis of the navigation coordinate system coincides with the right direction of the corridor (see Figure 1). The 3 axes of the body coordinate system coincide with the 3 axes of the sensor unit.

The magnetic field data at the center of each cell is measured (see Figure 2). The magnetic sensor is located on top of a 93 cm plastic bar (to avoid magnetic disturbance from the bar) and 10 s data (100 samplings per second) are recorded. The average value is used as the magnetic signature for the cell. The symbol zsig,mR3 denotes the magnetic signature of the m-th cell. The three axes of the sensor during signature data measurement coincide with the three axes of the navigation coordinate system (see Figure 2). Thus zsig,m is the magnetic field of the m-th cell expressed in the navigation coordinate system.

The magnetic signature data is compared with the magnetic data during walking to estimate the location. A person carries an inertial/magnetic sensor unit XSens MTi sensor; on the belt (see Figure 3). The belt location is chosen since the attitude of the sensor unit is almost constant during walking. In the proposed method, the attitude change must be small, or else our modeling (1) in Section 3 would not be valid. Thus a sensor unit could be attached on a belt or the chest. The proposed algorithm cannot be used for a sensor unit on a cell phone since its attitude change during walking is large if a person is holding the phone.

The sensor unit consists of 3 axis accelerometers, 3 axis gyroscopes and 3 axis magnetic sensors. The accelerometers are used to estimate walking step length and the magnetic sensors are used to estimate heading (using the earth's magnetic field) and specific location (using the location-specific magnetic signature). Gyroscopes are not used since the proposed algorithm does not require them. If an attitude/heading estimation algorithm or an inertial navigation algorithm were combined with the proposed algorithm, a gyroscope could contribute to enhance the accuracy.

3. Segment-Based Location Estimation Using Magnetic Signature Data

Suppose a person is standing at the center of the m-th cell and let ym be the measured magnetic data from the sensor attached to the body. In general, the measured value ym is different from the magnetic signature data zsig,m although they are measured at the same location.

The relationship between ym and zsig,m can be approximated by the following equation:

y m = C z sig , m + h
where CR3×3 is the rotation matrix and hR3 represents the hard iron effect due to magnetized iron (such as steel parts in clothing or keys) or a magnetic source (such as a cell phone or a computer). The vector h is a person-dependent parameter since clothes and carried items are different for each person. When h = 0, ym is the magnetic field of the m-th cell expressed in the body coordinate system (recall that zsig,m is the same vector expressed in the navigation coordinate system). Thus rotation matrix C represents the rotation between the navigation coordinate system and the body coordinate system.

In existing studies [3,10,11], it is assumed that h is known in advance through the calibration process. Once h is known, we have the following from the fact that C is an orthogonal matrix:

y m h 2 = z sig , m 2
Equation (2) is used to compare ym and zsig,m in existing studies.

An algorithm, which does not require prior knowledge of h, is proposed. Since it is difficult to estimate the location using only one magnetic data, a number of magnetic data are grouped into a segment, which is compared with the magnetic signature data. Suppose a person walked a distance (Nseg − 1)G, where Nseg is a positive integer. Let yseg,iR3(1 ≤ iNseg) be the magnetic data obtained during walking, where yseg,i is the magnetic sensor data obtained when the walking length is (i – 1)G. Thus yseg,i is magnetic data obtained at equally spaced locations along the walking path. We call {yseg,i} a magnetic data segment during walking. The way to obtain this segment is explained in Section 4. Here we just note that the segment value depends on a person-dependent walking-related parameter α and thus yseg,i(α) notation is used to emphasize the dependency on α. Also note that yseg,1 is the starting point. If a person is walking to the right direction, yseg,1 is the magnetic data obtained at the leftmost position of the segment. If a person is walking to the left direction, yseg,1 is the magnetic data obtained at the rightmost position of the segment.

We want to know the location of this segment on the corridor cells (see Figure 4).

For this purpose, we introduce the performance index f(m, α, direction):

f ( m , α , direction ) = { min C , h R 3 i = 1 N seg w i y seg , i ( α ) C z sig , m + i 1 h 2 2 right direction min C , h R 3 i = 1 N seg w i y seg , N seg i + 1 ( α ) C z sig , m + i 1 h 2 2 left direction
where C is the rotation matrix, hR3 is the magnetic disturbance vector and wi is a positive weighting factor.

If the segment location (the leftmost position of the segment) is the m-th cell, f(m, α, direction) is small assuming α is the correct walking parameter. Thus the location estimation problem can be solved by minimizing f(m, α, direction) over 1 ≤ mNcellNseg + 1. This approach sometimes could give a wrong answer since f(m,α, direction) could be small even if the segment location is not the m-th cell. As a fail-safe measure, we check whether the computed C in Equation (3) satisfies the assumption that the attitude change is small in Equation (1), and the process is given in Equations (4)(7).

Suppose a person is standing before starting to walk. Let ya,initR3 be the accelerometer output of the sensor attached to the body. Then, there is no external acceleration since there is no movement. Thus, ya,init only contains the gravitational acceleration:

y a , init C [ 0 0 g earth ]
where gearth is the gravitational acceleration.

Let bz be the unit vector in the direction of ya,init:

b z = y a , init y a , init

Note that bz is computed from ya,init, which can be obtained if a person stands for 1 to 2 seconds before starting to walk. For example, consider the body coordinate system in Figure 3. In this case, bz becomes the x axis unit vector of the body coordinate system. During walking, the bz direction maintains the upward direction. Thus the following can be assumed:

b z C [ 0 0 1 ]
where C is the rotation matrix from Equation (3).

The similarity of two unit vectors in Equation (5) is tested by measuring the angle between them. The angle θ between the vectors aR3 and bR3 can be computed by

θ = cos 1 ( α b )

Thus the two vectors are similar if ab is large (that is, if θ is small).

Using Equation (6), we introduce (m, α)

f ¯ ( m , α , direction ) = { f ( m , α , direction ) , if b z ' C [ 0 0 1 ] ' > γ 1 , otherwise
where γ1 is a positive threshold value.

Now the segment location can be estimated by minimizing (m, α, direction). We note that the minimizing m still may not be the correct position although it rarely happens. We introduce a quantitative index g(α, direction) representing the confidence of the estimated location by minimizing Equation (7). An index g(α, direction) is defined by

g ( α , direction ) = α 1 exp ( b 1 f ¯ 1 ( α , direction ) ) + α 2 exp ( b 2 f ¯ 1 ( α , direction ) f ¯ 2 ( α , direction ) )
where 1(α, direction) and 2(α, direction) are the minimum and second minimum values of (m, α, direction) for 1 ≤ mNcellNseg + 1. The coefficients a1, b1, a2 and b2 are all positive. Note that g(α, direction) is small if the absolute and relative (with respect to the second minimum value) minimum values are small. In this case, it is more likely that the minimizing m is the true cell position. g(α, direction) plays a similar role as the estimation error covariance of the estimated cell position and g is called a pseudo error covariance. In the minimization process, we also compute C and h in Equation (3). If g(α, direction) is small, the computed C and h are generally more accurate.

In the minimization of , we have to find C (rotation matrix) and h in Equation (3). This minimization problem is often encountered in computer vision problems. There is an analytic solution to compute C and h and the result [20] is given in Lemma 1.

Lemma 1 Let aiR3 (1 ≤ in) and biR3 be corresponding vectors in R3. Let wiR3 be a positive weighting factor.

The rotation matrix C and a translation vector hR3 satisfying

min C , h i = 1 n w i a i C b i h 2 2
are given by
C = V [ 1 0 0 0 1 0 0 0 det ( V U ' ) ] U ' , h = ā C b ¯
where
ā = i = 1 n w i a i i = 1 n w i , b ¯ = i = 1 n w i b i i = 1 n w i , ã i = a i ā , b ˜ i = b i b ¯ , S = i = 1 n w i ã i , b ˜ i '
Orthogonal matrices U and V are from the singular value decomposition of S:
S = U Σ V '
where Σ is a diagonal matrix.

Using Lemma 1, we can compute C and h in Equation (3) easily, and instead of using a numerical optimization, C and h are given in the closed-form. The singular value decomposition of a 3 × 3 matrix, which is easy to compute, is the most computationally demanding part. Thus the computational cost of finding C and h in Equation (3) is small. This is important since Equation (3) is used as an inner algorithm in Equations (3) and (14) thus is computed many times.

In Equation (9), n should be at least 2. Otherwise, the problem becomes underdetermined and there are infinitely many solutions. Thus Nseg in Equation (3) should be at least 2. This number is the minimum when there is no magnetic noise (sensor noise and temporary magnetic disturbances). Nseg should be much larger (practically, at least 5) to obtain a reliable solution.

4. Segment Data Generation

In this section, the generation of segment data yseg,i (used in Section 3) is explained.

In Figure 5, a typical plot of the norm of the accelerometer output during walking is given. It is not difficult to identify each walking step from the norm data. Let ya,max,j be the maximum norm value of the j-th walking step and Tj be the walking time. It is known that the walking length of the j-th step is proportional to ya,max,j [8]. Thus walking length lj for each step can be estimated using the following formula:

l j = α y a , max , j
where α is a person-dependent parameter satisfying the following:
α min α α max
where αmin and αmax can be determined from experiments on a number of people.

Equation (10) is not a new result and there are many similar algorithms [21]. Since the walking distance estimation algorithm is not the main topic of this paper, any other algorithms can be used.

A walking segment consists of several walking steps. Whenever the walking direction change is larger than a certain threshold value, a new segment is formed. Thus a segment consists of almost straight line walking data. To prevent the segment length from becoming too long, a new segment is formed if the segment length is larger than a certain threshold value. A new segment is formed if the following are not satisfied (γ2 and γ3 are positive parameters):

  • Small direction change

    y m , i y m , j < γ 2

  • Segment not too long

    y a , max , j < γ 3

The segment index is denoted by k and the number of walking steps in the k-th segment is denoted by Mk. With j denoting the walking step index, the walking step interval k1jkMk is assumed to belong to the k-th segment.

Note that yseg,i and yseg,i+1 are two magnetic data obtained at positions with distance G. Using the computed lj, yseg,i data is constructed as follows (see Figure 6).

  • Steps 1–3: Using accelerometer data, walking step length lj is computed for each walking step j using Equation (10).

  • Steps 4–5: Based on the computed lj, the walking path is divided into positions with equal spacing (by length G).

  • Steps 6–7: Using a simple interpolation algorithm, the time instances corresponding to these equally spaced positions are computed. The magnetic sensor data at these time instances are denoted by yseg,i.

5. Proposed Location Estimation Algorithm

In this section, a location estimation algorithm using the results in Sections 3 and 4 is provided. Let k, α̂k and k be the estimated values of m, α and h after the k-th segment data is processed. Let PkR be a pseudo estimation error covariance (see the discussion for Equation (8)) after the k-th segment data is processed. A small Pk value means that k is more accurate.

5.1. Initialization

When a sensor is installed on a person for the first time, we do not have any information on α and h. If h is unknown, it is not possible to determine the walking direction. In this case, initial values of α and h should be found in addition to the location m. The location and initial value estimation problem can be formulated as a minimization problem over all possible combinations of parameters:

f ¯ * = min right , left direction [ min α min α α max ( min 1 m N cell N seg + 1 f ¯ ( m , α , direction ) ) ]
where * is the minimum value. Let m*, h*, C* and α* be the minimizing parameters. The direction (right or left) and m are discrete parameters. The continuous parameter α can be discretized in the minimization problem with the discretization interval Δα: that is, discrete values αmin, αmin + Δα, αmin + 2Δα, ⋯, αmax are used in the minimization of Equation (14).

In the minimization problem, the direction is determined and the initial values of α and h are given. If the value g (see Equation (8)) is larger than a threshold value γ4, the result is not used. We then proceed to the next segment to determine the initial values.

Suppose the minimization problem is solved for the first walking segment. Then α̂1, 1 and P1 are given by

α ^ 1 = α * , ĥ 1 = h * , P 1 = g ( α * , direction * )
where direction* represents the determined direction (right or left). Symbols α̂k and k denote the estimated values of α and h using the segment data up to the k-th segment.

5.2. Walking Direction Determination after the Initialization

Suppose we have segment magnetic data yseg,i (1 ≤ iNseg) for a new segment. From Equation (1), we know that (assuming yseg,i is measured on the m + i − 1-th cell)

y seg , i = C z sig , m + i 1 + h
where C, h and m are unknown.

In the initialization step, we obtained 1 = h* and 1 = C*. We can assume that h does not change much during walking. The rotation matrix C could take two values. If the direction of the current segment is the same as that of the first segment, the rotation matrix C is given by

C Ĉ 1

If the direction is opposite, the rotation matrix C can be obtained by rotating the z axis of the body coordinate system in the first segment by π rad along the bz axis (since a person has turned π rad along this axis):

C C ( b z , π ) Ĉ 1
where C(bz, π) is the rotation matrix representing a π rad rotation along the bz axis [22].

Thus from Equations (15)(17), we have

y seg , i { Ĉ 1 z sig , m + i 1 + ĥ 1 if the same direction C ( b z , π ) Ĉ 1 z sig , m + i 1 + ĥ 1 if the opposite direction

Since m is unknown, we cannot use zsig,m+i−1 in Equation (18). Instead, the mean value of zsig,i is used. Let zsig,mean and yseg,mean be defined by

z sig , mean = 1 N cell m = 1 N cell z sig , m , y seg , mean = 1 N seg i = 1 N seg y seg , i

Based on the preceding observation, the direction determination algorithm is summarized as follows:

  • The direction is determined as the same direction with the first segment if the following is satisfied

    y seg , mean Ĉ 1 z mean + ĥ 1 min ( γ 5 , y seg , mean C ( b z , π ) Ĉ 1 z mean + ĥ 1 )
    where γ5 is a positive parameter.

  • The direction is determined as the opposite direction to the first segment if the following is satisfied

    y seg , mean C ( b z , π ) Ĉ 1 z mean + ĥ 1 min ( γ 5 , y seg , mean Ĉ 1 z mean + ĥ 1 )

  • The direction is undetermined if neither Equation (19) nor Equation (20) is satisfied. In this case, the method in the initialization step should be used.

We note that k−1 and k−1 (which are generally more accurate) could be used for the k-th segment instead of 1 and 1.

5.3. Location Estimation Algorithm for k-th Walking Segment

Suppose the location is estimated up to the k − 1-th segment and we have computed α̂k−1, ĥk−1 and Pk−1. The location estimation algorithm for the k-th walking segment is explained.

  • The direction is estimated using the method in Section 5.2.

  • The position (m) and α are estimated using the following optimization problem:

    f ¯ * = min α min α α max ( min 1 m N cell N seg + 1 f ¯ ( m , α , direction ) )

  • Let α k *, h k *, C k * and m k * be the minimizing solution and g k * be the g value at the minimizing solution.

  • α̂k, k, k and Pk are updated as follows:

    α ^ k = g k * P k 1 + g k * α ^ k 1 + P k 1 P k 1 + g k * α k * ĥ k = g k * P k 1 + g k * ĥ k 1 + P k 1 P k 1 + g k * h k * Ĉ k = C k * P k = P k 1 g k * P k 1 + g k *

In Equation (22), α̂k−1 is the estimated value of α based on up to the k − 1-th segment while α k * is the estimated value of α based on the k-th segment. If Pk−1 and g k * are the estimation error covariances of α̂k−1 and α ^ k *, then α̂k in Equation (22) is the optimal estimate and Pk becomes the estimation error covariance of α̂k [23]. Similar logic applies to k. Since Pk−1 and ĝ k * are not the covariances, the computed α̂k is just a suboptimal estimate (lacking theoretical justification) and Pk is not the estimation error covariance.

Some comments are given for the computational aspects of Equation (14). The computation of depends on c1Nseg + c2, where c1 and c2 are constants. To solve Equation (21), should be computed for all possible combinations. Thus the computation of Equation (21) depends on

( α max α min Δ α + 1 ) × ( N cell N seg + 1 ) × ( c 1 N seg + c 2 )

The largest number in Equation (23) is Ngird, which is proportional to 1/G. Thus the computational cost is inversely proportional to the cell size G.

6. Experiments

Experiments were done on the 4th floor of building 7 in the University of Ulsan. In the corridor, there are floor lines forming cells with approximately the same size (see Figure 7). There are a total of 60 cells (Ncell = 60) and the total length is 89.7 m (the average length of each cell is 1.495 m).

Magnetic signature data zsig,m is recorded using the procedure in Section 2. The norm of zsig,m is given in Figure 8. It can be seen that there are significant location-to-location variations.

To see the magnetic signature variation in the vector form, x and y elements of zcal,m are given in the left graph of Figure 9 and x and z elements of zcal,m are given in the right graph. Each vector represents the vector element of zcal,m in a cell, where location-dependent magnetic field differences can be noticed. We can also observe that the magnetic disturbance from the building is small compared with the earth's magnetic field. Otherwise, the vector distribution would be much wider.

To use this location-dependent variation in zsig,m as a magnetic signature, the value should be fairly time-invariant. To investigate the time dependence of zcal,m, we recorded zsig,m (for m = 3) for seven days (six times a day at 10 am, 12 pm, 2pm, 6 pm, 8 pm, and 10 pm). In Figure 10, we can see that the time-dependent variation is small compared with the location-dependent variation: 0.6546 ≤ zsim,3 ≤ 0.6625. Since we use multiple cell data (segment data) to estimate the location, we believe this small time-dependent variation can be ignored. We conjecture this variation is due to sensor noise and changes of the environment (door opening/closing, people passing).

In the first walking experiment, a person walked from the end of cell 1 to the end of cell 60, a length of 89.7 m. This walking test was performed by 9 people whose information is given in Table 1. The parameters of the proposed algorithm are given in Table 2.

The results are given in Table 3. The walking paths are divided into 4 to 5 segments according to the rules in Section 4. The second column () represents the estimated location (in cell numbers) for each segment. For example, the estimated locations are 1 → 15 → 29 → 43 in the case of person (A). If a segment is too short, it is not used for the location estimation. In this case, the symbol ‘?’ is used. This can happen in the final segment as in the cases of person (B), (C), (D) and (G). The third column represents the walking distance estimated by the proposed algorithm and the fourth column represents the percentage error in the estimated walking distance. The absolute average error percentage is 3.1%, which is rather good considering the fact that the walking parameter α is automatically estimated.

The fifth and sixth columns indicate α̂k and k (for the final segment). The α̂k values are person-dependent. We can observe that women have smaller α̂k values presumably because they have smaller walking step lengths.

Persons (B) – (H) used the same belt (a military-style belt with some metal parts) where the sensor is attached. In the case of persons (A) and (I), the sensor is inserted inside the trousers (around the belt position). It can be seen that values are similar for persons (B)–(H), which is probably due to the fact h is affected by the same metal parts in the belt.

In the second walking experiment, a person walked three round trips between cell 1 and cell 60. The estimated location result is given in Table 4. In Figure 11, the estimation results for the first five segments are illustrated with four segments in the first row and one segment in the second row in Table 4. As in Table 3, ‘?’ is used to indicate that the location is not estimated since the segment length is too short. In the second row, it can be seen that a person walked to the right 1 → 15 → 29 → 42 (cell numbers). When a person turned around at the end of cell 60, short segments are formed due to the large direction change (see the segment generation rule in Section 4). The location estimation is not used for these short segments. After turning around, when a person walked to the left (4th row), the proposed algorithm identifies the direction change correctly. In the second experiment, it can be seen that the walking direction can be correctly identified in all segments. The total walking length is 538.2 m (89.7 m × 6) and the sum of the estimated walking length of all segments is 538.2m (two values were accidentally the same). The same experiment was also done for person (B) and the estimated distance is 536.8 m. To see how α̂k changes during walking, α ^ k * and α̂k values for person (A) are given in Figure 12. Through this long distance walking test, we can verify that the proposed algorithm can estimate the direction, location and walking distance relatively accurately.

To test the location estimation accuracy, persons (A) and (B) walked on four paths as shown in Table 5. One segment is formed for each path by setting γ3 to a large value. When a person starts from the center of cell 30, the location is correctly estimated as cell 30 in all cases. When a person starts from the borderline of cells 9 and 10, the location is estimated either as cell 9 or 10. In all cases, the location is correctly estimated with one cell length resolution. The estimated walking distance is also given in Table 5, where the true distance is 29.3 m.

Finally, we investigate how G (cell size) and Nseg (number of magnetic data in a segment) affect the location estimation performance. In the experiment, the cell size was 1.5 m and the magnetic signature data was obtained at positions 1.5 m apart. In Figure 13 (left figure), the magnetic signature data was obtained with fine cells (0.3m cell size) along 24 m intervals. There is no significant fluctuation in magnetic signature data between 1.5 m cell magnetic signature data (marked with ‘*’ in Figure 13). Based on this observation, simulated magnetic signature data is generated assuming that the cell size is 0.1 cm in Figure 13 (right figure): magnetic signature data (cell size 0.1 cm) is interpolated (a linear interpolation) using 1.5 m cell size magnetic signature data (middle graph in Figure 13) and noise is added to the interpolated data (bottom graph in Figure 13). Using this simulated data, we investigated the effect of G and Nseg. The simulation data in Figure 13 is just a part of the simulation data to show how the simulation data is generated. Although there is no large magnetic signature variation between 1.5 m magnetic data, there could be large variation if there are magnetic anomalies such as fire extinguishers between the measurement points.

To focus on the effect of G and Nseg, we assume that α, h and C are exactly known. The yseg,i data is generated by adding noise to simulated magnetic signature data zsig,m. When the noise is too small, the location estimation performance is good for all G and Nseg values. Thus large noise is used to generate yseg,i (magnetic data obtained during walking).

Three different cell sizes (0.5 m, 1.0 m, 1.5 m) and different Nseg (1 ≤ Nseg ≤ 10) are used in the simulation. Assuming that the total length of a corridor is 88.5 m, we checked whether the algorithm correctly identifies the location for every location. For example, if G = 1.5 m and Nseg = 2, then the total number of cells is Ncell = 60. Assuming that the starting x position is 0 m, we checked whether the algorithm gives the correct location. Then assuming that the starting x position is 1.5 m, we checked again. This process is repeated until the starting x position is 87 m (so that the final position of the segment is 88.5 m). If the estimated location error is smaller than 1m, we consider the location estimation successful. We compute the success rate for the given combination (G and Nseg) as the average value of 100 simulation results.

The simulation result is given in Table 6. We can see that the success rate increases with Nseg. This is not surprising since large Nseg means that more magnetic data is used for location estimation and thus the location estimation is robust to sensor noise. However, large Nseg means large latency (for example, G = 1.5 and Nseg = 7 mean that we should walk (Nseg − 1)G = 9 m to estimate the location).

Now the effect of G on the location estimation performance is investigated. There are drawbacks and merits of using a smaller cell size. For the same Nseg value, a larger G value gives a better success rate. For example, for Nseg = 5, the success rate is 69.08 % for a 0.5 m cell. The success rate 91.80% for a 1.5 m cell is significantly better. Also, a smaller cell requires more computation: Ncell is proportional to 1/G and thus the computational complexity is proportional to 1/G. On the other hand, the merit of a smaller cell size is its small latency. If we compare the cases of (Nseg, G) = (10, 0.5) and (Nseg, G) = (7, 1.0), the success rate is similar. However, the required walking length for G = 0.5 is 4.5 m while the required walking length for G = 1 is 6 m. Thus, we can estimate location with a smaller walking length if we use a smaller cell size.

One guideline for Nseg and G is given as follows: G should be chosen based on the required estimation accuracy. If 1.5 m estimation error is the acceptable upper limit, G =1.5 m can be chosen. Next, Nseg can be chosen based on the magnetic disturbance level (from on-off electric machines for example). The larger Nseg chosen, the more robust the estimated location becomes at the sacrifice of large latency.

7. Conclusions

In this paper, the location in the one-dimensional corridor is estimated using location-dependent ambient magnetic fields inside buildings. The sensor (inertial/magnetic) is attached to the belt. The walking length is estimated using the accelerometer output. The magnetic data during walking is compared with pre-recorded magnetic signature data.

The main contribution is that person-dependent parameters (walking parameter α and hard iron parameter h) are adaptively estimated in the proposed algorithm. Thus no person-dependent calibration procedure is required and it can be used for the location estimation as soon as the device is attached to the belt.

The proposed algorithm was tested on 9 people (weight: 48–72 Kg, height: 155–181 cm, age: 22–47). With 89.7 m walking tests, the average distance estimation error was 3.1%. The location estimation was also accurate with the resolution depending on the cell size (about 1.5 m).

The proposed algorithm is not a full-scale localization algorithm such as in [24]. It essentially solves the location estimation problem of a one segment. There is no dynamic modeling about people or map matching algorithms. The proposed algorithm can be used in a full-scale localization problem as a useful subroutine. For example, the measurement equations of filters in [10,11] could be replaced by the proposed algorithm.

Future work is to increase the location estimation accuracy and to extend the result to two-dimensional location estimation problem.

Acknowledgments

This work was supported by 2014 Research Funds of Hyundai Heavy Industries for University ofUlsan.

Author Contributions

Young Soo Suh originated this work including the algorithm derivation and verification and writing of the paper. Baatardorj Amarbayasgalan did the experiment.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Fallah, N.; Apostolopoulos, I.; Bekris, K.; Folmer, E. Indoor Human Navigation Systems: A Survey. Interact. Comput. 2013, 25, 21–33. [Google Scholar]
  2. Ojeda, L.; Borenstein, J. Non-GPS Navigation for Security Personnel and First Responders. J. Navig. 2007, 60, 391–407. [Google Scholar]
  3. Riehle, T.H.; Anderson, S.M.; Lichter, P.A.; Giudice, N.A.; Sheikh, S.I.; Knuesel, R.J.; Kollmann, D.T.; Hedin, D.S. Indoor magnetic navigation for the blind. Proceedings of the 34th Annual International Conference of the IEEE EMBS, San Diego, CA, USA, 28 August 2012; pp. 1972–1975.
  4. Sharkawi, K.H.; Ujang, M.U.; Abdul-Rahman, A. 3D navigation system for virtual reality based on 3D game engine. Proceedings of the International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Beijing, China, 3 July 2008; Volume 37.
  5. Bebek, O.; Suster, M.A.; Rajgopal, S.; Fu, M.J.; Xuemei, H.; Cauvusoglu, M.C.; Young, D.J.; Mehregany, M.; van den Bogert, A.J.; Mastrangelo, C.H. Personal Navigation via High-Resolution Gait-Corrected Inertial Measurement Units. IEEE Trans. Instrum. Measur. 2010, 59, 3018–3027. [Google Scholar]
  6. Bird, J.; Arden, D. Indoor Navigation with Foot-Mounted Strapdown Inertial Navigation and Magnetic Sensors. IEEE Wirel. Commun. 2011, 18, 28–35. [Google Scholar]
  7. Hung, T.N.; Suh, Y.S. Inertial Sensor-Based Two Feet Motion Tracking for Gait Analysis. Sensors 2013, 13, 211–215. [Google Scholar]
  8. Cho, S.Y.; Park, C.G. MEMS Based Pedestrian Navigation System. J. Navig. 2006, 59, 135–153. [Google Scholar]
  9. Liu, H.; Darabi, H.; Banerjee, P.; Liu, J. Survey of Wireless Indoor Positioning Techniques and Systems. IEEE Tran. Syst. Man Cybernet. Part C 2007, 37, 1067–1080. [Google Scholar]
  10. Haverinen, J.; Kemppainen, A. Global Indoor self-localization based on the ambient magnetic field. Rob. Auton. Syst. 2009, 57, 1028–1035. [Google Scholar]
  11. Grand, E.L.; Thrun, S. 3-Axis Magnetic Field Mapping and Fusion for Indoor Localization. Proceedings of the 2012 IEEE International Conference on Multisensor Fusion and Integration for Intelligent Systems, Hamburg, Germany, 13 September 2012; pp. 358–364.
  12. Ruiz, A.R.J.; Granja, F.S.; Honorato, J.C.P.; Rosas, J.I.G. Accurate Pedestrian Indoor Navigation by Tightly Coupling Foot-Mounted IMU and RFID Measurements. IEEE Trans. Instrum. Measur. 2012, 61, 178–189. [Google Scholar]
  13. Park, S.K.; Suh, Y.S. A Zero Velocity Detection Algorithm Using Inertial Sensors for Pedestrian Navigation Systems. Sensors 2010, 10, 9163–9178. [Google Scholar]
  14. Bachmann, E.R.; Yun, X.; Brumfield, A. Investigating the Effects of Magnetic Variations on Inertial/Magnetic Orientation Sensors. IEEE Rob. Autom. Mag. 2007, 14, 76–87. [Google Scholar]
  15. Subbu, K.P.; Gozick, B.; Dantu, R. Indoor Localization through Dynamic Time Warping. Proceedings of the 2011 IEEE Internatinal Conference on Systems, Man, and Cybernetics, Anchorage, AK, USA, 9 October 2011; pp. 1639–1644.
  16. Guo, P.; Yang, Y. The soft iron and hard iron calibration method using extended kalman filter for attitude and heading reference system. Proceedings of the 2008 IEEE/ION Position, Location and Navigation Symposium, Monterey, CA, USA, 5 May 2008; pp. 1167–1174.
  17. Ozyagcilar, T. Application Note: Calibrating an eCompass in the Presence of Hard and Soft-Iron Interference; Freescale Semiconductor Ltd: Austin, TX, USA, 2013. [Google Scholar]
  18. Lee, H.; Lee, H.; Kim, E. A New Gait Recognition System based on Hierarchical Fair Competition-based Parallel Genetic Algorithm and Selective Neural Network Ensemble. Int. J. Control Autom. Syst. 2014, 12, 202–207. [Google Scholar]
  19. Do, T.N.; Suh, Y.S. Gait analysis using floor markers and inertial sensors. Sensors 2012, 12, 1594–1611. [Google Scholar]
  20. Sorkine, O. Least-Squares Rigid Motion Using SVD; Technical Report; Department of Computer Science, ETH Zurich: Zurich, Switzerland, 2009. [Google Scholar]
  21. Karimi, H.A.; Jiang, M.; Zhu, R. Pedestrian Navigation Services: Challenges and Current Trends. GEOMATICA 2013, 67, 259–271. [Google Scholar]
  22. Kuipers, J.B. Quaternions and Rotation Sequences: A Primer With Applications to Orbits, Aerospace, and Virtual Reality; Princeton University Press: Princeton, NJ, USA, 1999. [Google Scholar]
  23. Brown, R.G.; Hwang, P.Y.C. Introduction to Random Signals and Applied Kalman Filtering; John Wiley & Sons: New York, NY, USA, 1997. [Google Scholar]
  24. Thrun, S.; Burgard, W.; Fox, D. Probabilitic Robotics; The MIT Press: Cambridge, MA, USA, 2006. [Google Scholar]
Figure 1. One-dimensional corridor is divided into cells.
Figure 1. One-dimensional corridor is divided into cells.
Sensors 14 14375f1 1024
Figure 2. Magnetic signature measurement for each cell.
Figure 2. Magnetic signature measurement for each cell.
Sensors 14 14375f2 1024
Figure 3. Inertial/magnetic sensor unit on the belt of a person.
Figure 3. Inertial/magnetic sensor unit on the belt of a person.
Sensors 14 14375f3 1024
Figure 4. Segment-based magnetic signature comparison.
Figure 4. Segment-based magnetic signature comparison.
Sensors 14 14375f4 1024
Figure 5. Norm of accelerometer output during walking.
Figure 5. Norm of accelerometer output during walking.
Sensors 14 14375f5 1024
Figure 6. yseg,i generation: (1,7), (2,6) and (3,5) are the same graph drawn twice for the explanation.
Figure 6. yseg,i generation: (1,7), (2,6) and (3,5) are the same graph drawn twice for the explanation.
Sensors 14 14375f6 1024
Figure 7. Cells using floor lines in the corridor.
Figure 7. Cells using floor lines in the corridor.
Sensors 14 14375f7 1024
Figure 8.zsig,m‖ plot.
Figure 8.zsig,m‖ plot.
Sensors 14 14375f8 1024
Figure 9. Vector plot of zsig,m.
Figure 9. Vector plot of zsig,m.
Sensors 14 14375f9 1024
Figure 10. ‖zsig,m‖ plot for 1 ≤ m ≤ 10 with time-dependent variation of ‖zcal,3‖.
Figure 10. ‖zsig,m‖ plot for 1 ≤ m ≤ 10 with time-dependent variation of ‖zcal,3‖.
Sensors 14 14375f10 1024
Figure 11. Estimated location in Table 4 (first 5 segments).
Figure 11. Estimated location in Table 4 (first 5 segments).
Sensors 14 14375f11 1024
Figure 12. α k * and α ^ k *.
Figure 12. α k * and α ^ k *.
Sensors 14 14375f12 1024
Figure 13. Simulation data generation example: (top) ‖zsig,m‖ with 0.3 m cell size experiment data, (middle) simulation data generation using interpolation of 1.5 m data (bottom) noise-added final simulation data.
Figure 13. Simulation data generation example: (top) ‖zsig,m‖ with 0.3 m cell size experiment data, (middle) simulation data generation using interpolation of 1.5 m data (bottom) noise-added final simulation data.
Sensors 14 14375f13 1024
Table 1. Information about people in the first walking experiment.
Table 1. Information about people in the first walking experiment.
PersonAgeWeight (Kg)Height (Cm)Sex
(A)4767179male
(B)2968169male
(C)2872181male
(D)2464163male
(E)2761176male
(F)2862169male
(G)2348158female
(H)2255172female
(I)2560155female
Table 2. Parameters used in the experiment.
Table 2. Parameters used in the experiment.
ParameterValuesRelated Equation
γ10.8Equation (7)
γ20.2Equation (12)
γ3 15 α minEquation (13)
γ41.5Section 5.1
a1, a2, b1, b20.5,0.5,1,1Equation (8)
αmin, αmax, Δα0.03, 0.05, 0.002Equations (11) and (14)
Table 3. 60 cell (89.7 m) walking test (‘?’ symbol means the segment is too short for the location estimation).
Table 3. 60 cell (89.7 m) walking test (‘?’ symbol means the segment is too short for the location estimation).
PersonEstimated Distance (m)Error (%)α̂ĥ
(A)1,15,29,4391.31.80.042[0.12 −0.14 0.06]
(B)1, 14,28,42,(?)88.4−1.40.042[−0.37 0.47 −0.33]
(C)1, 17, 34, (?)84.0−6.30.047[−0.30 0.48 −0.38]
(D)1, 15,29,44,(?)85.4−4.80.042[−0.34 0.44 −0.39]
(E)1,17,33,4985.1−5.10.047[−0.28 0.50 −0.44]
(F)1,17,32,4791.62.10.046[−0.26 0.59 −0.38]
(G)1, 15,29,42,(?)90.30.70.040[−0.26 0.45 −0.72]
(H)1,13,25,37,5085.2−5.10.035[−0.21 0.49 −0.67]
(I)1,15,28,4288.3−1.00.042[0.20 −0.12 0.09]
absolute mean error3.1
Table 4. Long walking test: three round trips between cell 1 and cell 60 (‘?’ symbol means the segment is too short for the location estimation).
Table 4. Long walking test: three round trips between cell 1 and cell 60 (‘?’ symbol means the segment is too short for the location estimation).
ActionEstimated Cell Number (Estimated Walking Distance)Estimated Direction
Walking to the right direction1(21.5), 15(21.1), 29(19.3), 42(20.3)right
Turning around?(6.1),?(0.5),?(3.9),?(0.7)
Walking to the left direction57(20.7), 43(20.2), 29(20.6), 16(21.5)left
Turning around?(0.6), ?(0.5), ?(0.5), ?(0.6)
Walking to the right direction1(21.1), 15(21.4), 29(20.7), 42(21.4)right
Turning around?(4.5), ?(0.5), ?(0.5), ?(0.6)
Walking to the left direction59(20.1), 46(20.5), 32(21.2), 19(21.7)left
Turning around?(5.3), ?(0.5), ?(0.5), ?(0.6)
Walking to the right direction1(22.2), 15(21.6), 29(21.2), 43(20.6)right
Turning around?(4.5), ?(0.6), ?(0.6), ?(0.6)
Walking to the left direction60(22.4), 45(20.5), 32(21.4), 18(21.6), ?(4.8)left
Table 5. Location estimation accuracy test.
Table 5. Location estimation accuracy test.
PathPerson (A) Estimated Cell Number (Estimated Walking Distance)Person (B) Estimated Cell Number (Estimated Walking Distance)
Borderline between cell 9 and 1010 (29.3)9(31.5)
→ center of cell 30

Center of cell 30→30 (30.2)30 (30.9)
borderline between cell 50 and 51

Borderline between cell 50 and 5151 (31.9)51 (32.9)
→ center of cell 30

Center of cell 30→30 (32.2)30 (30.8)
borderline between cell 9 and 10
Table 6. Location estimation performance with different Nseg and cell sizes (100 simulations, estimation error smaller than 1m is considered as success).
Table 6. Location estimation performance with different Nseg and cell sizes (100 simulations, estimation error smaller than 1m is considered as success).
Location Estimation Success Rate (%)

Nseg0.5 m Cell1.0 m Cell1.5 m Cell
128.9033.1040.59
239.9047.7560.29
351.0260.6574.42
461.3271.4085.46
569.0880.3991.80
676.3987.3395.74
782.1292.1897.91
886.6595.0699.00
989.9696.8799.57
1092.8798.1499.76

Share and Cite

MDPI and ACS Style

Suh, Y.S.; Amarbayasgalan, B. Indoor Magnetic Signature Based Localization Algorithm without Person-Dependent Parameter Calibration. Sensors 2014, 14, 14375-14398. https://doi.org/10.3390/s140814375

AMA Style

Suh YS, Amarbayasgalan B. Indoor Magnetic Signature Based Localization Algorithm without Person-Dependent Parameter Calibration. Sensors. 2014; 14(8):14375-14398. https://doi.org/10.3390/s140814375

Chicago/Turabian Style

Suh, Young Soo, and Baatardorj Amarbayasgalan. 2014. "Indoor Magnetic Signature Based Localization Algorithm without Person-Dependent Parameter Calibration" Sensors 14, no. 8: 14375-14398. https://doi.org/10.3390/s140814375

Article Metrics

Back to TopTop