Next Article in Journal
A Rotational Gyroscope with a Water-Film Bearing Based on Magnetic Self-Restoring Effect
Next Article in Special Issue
Off-Line Evaluation of Mobile-Centric Indoor Positioning Systems: The Experiences from the 2017 IPIN Competition
Previous Article in Journal
Structural Health Monitoring of Railway Transition Zones Using Satellite Radar Data
Previous Article in Special Issue
Smartphone-Based Cooperative Indoor Localization with RFID Technology
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Development of a Kalman Filter in the Gauss-Helmert Model for Reliability Analysis in Orientation Determination with Smartphone Sensors

1
Department of Geodesy and Geoinformation, TU Wien, 1040 Wien, Austria
2
indoo.rs GmbH, 1150 Wien, Austria
*
Author to whom correspondence should be addressed.
Sensors 2018, 18(2), 414; https://doi.org/10.3390/s18020414
Submission received: 15 December 2017 / Revised: 25 January 2018 / Accepted: 26 January 2018 / Published: 31 January 2018
(This article belongs to the Special Issue Smartphone-based Pedestrian Localization and Navigation)

Abstract

:
The topic of indoor positioning and indoor navigation by using observations from smartphone sensors is very challenging as the determined trajectories can be subject to significant deviations compared to the route travelled in reality. Especially the calculation of the direction of movement is the critical part of pedestrian positioning approaches such as Pedestrian Dead Reckoning (“PDR”). Due to distinct systematic effects in filtered trajectories, it can be assumed that there are systematic deviations present in the observations from smartphone sensors. This article has two aims: one is to enable the estimation of partial redundancies for each observation as well as for observation groups. Partial redundancies are a measure for the reliability indicating how well systematic deviations can be detected in single observations used in PDR. The second aim is to analyze the behavior of partial redundancy by modifying the stochastic and functional model of the Kalman filter. The equations relating the observations to the orientation are condition equations, which do not exhibit the typical structure of the Gauss-Markov model (“GMM”), wherein the observations are linear and can be formulated as functions of the states. To calculate and analyze the partial redundancy of the observations from smartphone-sensors used in PDR, the system equation and the measurement equation of a Kalman filter as well as the redundancy matrix need to be derived in the Gauss-Helmert model (“GHM”). These derivations are introduced in this article and lead to a novel Kalman filter structure based on condition equations, enabling reliability assessment of each observation.

1. Introduction

Determining the orientation in pedestrian navigation with geometric-based approaches is an essential step for positioning. There are several possibilities to mathematically parameterize the orientation. In [1] three possibilities are given: the direction-cosine-matrix, Euler angles and quaternions. Discussion on the advantages and disadvantages of these concepts can be found in [2]. In this article the Euler angles—roll, pitch and yaw—are used as it is the yaw angle that is especially necessary for calculating the 2D-Position in pedestrian navigation approaches like Pedestrian Dead Reckoning (“PDR”). The orientation can be calculated directly by the use of an accelerometer and a magnetometer respectively a gyroscope, which are nowadays integrated in most of the available smartphones. Each of these sensors is subject to specific systematic effects [3], which have to be considered in detail when integrating low-cost sensors in smartphones. These systematic deviations clearly can have a noticeable impact on the resulting position of PDR, which makes determining the orientation the critical part.
Several approaches exist to fuse and improve the calculated orientation from the individual sensors. In [4] linear combinations are used, to calculate the yaw angle of the individual results from magnetometer and gyroscope. Using a Kalman filter to fuse accelerometer, magnetometer and gyroscope measurements [5,6,7] is the most common approach. Fusing these sensors offers the opportunity to detect and correct for systematic deviations in the observations. In [8] a Kalman filter is developed which uses the observed gravity and Earth magnetic field as well as the orientation quaternion which are propagated by means of the gyroscope. If static acceleration or magnetic flux is detected, systematic sensor deviations can be determined. In [9] or [10] the gyroscope is used to detect when the user is turning. If the user walks straight, systematic sensor deviations are derived. The same approach is used in [11] to smooth the resulting trajectory. A method to minimize systematic effects in acceleration measurements resulting from the steps of pedestrians by adapting the measurement noise can be found in [2]. Using additional data can improve the ability to detect systematic effects. One possibility to retrieve additional position and attitude information is to use pictures from the smartphone camera [12]. Also building plans can be used to support the calculation of the orientation [13]. The previously mentioned approaches only use observations from one device. Especially in pedestrian navigation, much data is produced from many different smartphones, which can be used for positioning in various ways. This crowd-sourced data is mainly used to support Wi-Fi fingerprinting [14,15] by extending and updating radio maps [16,17,18]. In the context of PDR, in [19] for example, trajectories from multiple users are used to minimize the influence of magnetic perturbations inside buildings.
Combining positions from signal strength observations with PDR is done, for example, in [20]—with an adaptive Kalman filter—or in [21]—with a particle filter–to improve positioning accuracy. Such signal strength observations or “Received Signal Strength” (RSS) can be used in geometric-based approaches or in feature-based approaches and require external infrastructure. Adding such positioning techniques—for example Wi-Fi [22,23], “radio-frequency identification” (RFID) [24] or artificial magnetic fields [25]—will increase the redundancy and minimize the influence of systematic effects. Geometric- and feature-based approaches are combined in [26], where also measures are derived to quantify accuracy independently from the distribution of the observations.
This paper focuses on determining the orientation for PDR with accelerometer, magnetometer and gyroscope in a Kalman filter. The focus is on analyzing the reliability of the observations from smartphone-sensors, which are non-linearly included in condition equations. The Kalman filter is commonly used to estimate states in a Gauss-Markov model (“GMM”—model with observation equations), wherein the observations of the measurement equation are linear and can be formulated as functions of the states [27,28]. However, the equations for the orientation determination in PDR are condition equations, containing implicit relations between states and observations. Thus, reliability analysis based on condition equations, necessitates a new derivation of the system equation and the measurement equation of a Kalman filter as well as the redundancy matrix in the Gauss-Helmert model (“GHM”—model with condition equations). The formulation of the system equation in the GHM can be found in [29,30], wherein the measurement equation and corresponding redundancy matrix are still assumed to satisfy the GMM. Hence, an important novelty of this article is the derivation of the whole Kalman filter structure in the GHM, enabling the possibility to calculate reliability measures for observations which are non-linearly included in the condition equations.
Section 2 contains the explanation of the existing approach and subsequent problem description of reliability, as well as the derivation of the update-equations and redundancy matrix of the reformulated Kalman filter. The data of a measured trajectory will be used to estimate the Euler angles as well as the reliability measures. These results are presented in Section 3 whereas Section 4 concludes this contribution.

2. Orientation Determination

2.1. Existing Approach

In the Kalman filter used for orientation determination in this article, the state parameters are the Euler angles roll ϕ, pitch θ and yaw ψ. Based on the assumption that roll and pitch are constant while the user is walking, they are predicted at actual epoch k with a random-walk model (1) and (2). The yaw angle is predicted with two different system equations, whereby (3) will be used if the user is walking straight and (4) will be used at detected turns. In the second case the observed turn rates from gyroscope gy,k and gz,k are included as control quantities summed in the vector uk. By doing this, the predicted yaw should immediately follow the user’s turn. The noise components of the state parameters are ck−1, ck−1, ck−1 and Δt is the time interval between two consecutive Kalman updates:
f 1 : φ k = φ k 1 + c k 1 , φ
f 2 : θ k = θ k 1 + c k 1 , θ
f 3 : ψ k = ψ k 1 + c k 1 , ψ
f 3 : ψ k = ψ k 1 + Δ t cos θ k 1 ( g y , k sin φ k 1 + g z , k cos φ k 1 ) + c k 1 , ψ
Turn detection is done by applying a statistical test on the filter innovations of the yaw angle dψ,i [29,31]. The null hypothesis H0 of this statistical test says that the vector dψ containing the filter innovations dψ,i from the last n epochs is equal to the zero vector (5), whereas the alternate hypothesis HA states that dψ is significantly different to the zero vector (6). If the test value exceeds the corresponding quantile of the chi-square distribution (7), (4) will be used to predict the yaw angle. Dψ is the variance-covariance matrix (VCM) of the innovation vector dψ and only contains variances on the diagonal belonging to the corresponding dψ,i. This is a simplification, as auto-covariances may be present. The use of random-walk (3) results in smoother trajectories in sections when the user walks straight. By neglecting the observations from gyroscope in the random-walk model, the influence of systematic sensor deviations (gyro-drift) on the filter result is minimized:
H 0 : E ( d ψ ) = E ( [ d ψ , 1 d ψ , 2 d ψ , n ] T ) = 0
H A : E ( d ψ ) 0
P { d ψ T D ψ 1 d ψ χ n ; 1 α 2 | H 0 } = 1 α
For the update equations also the VCM of the predicted state is needed (8):
x ¯ x ¯ , k = T k , k 1 x ^ x ^ , k 1 T k , k 1 T + U k , k 1 u u , k U k , k 1 T + C k , k 1 c c , k C k , k 1 T
Therein, Σ i i , k —with the index i = x ^ k 1 , u, c—are the VCMs of the corresponding observation groups in epoch k. Tk,k−1 is the state transition matrix, Uk,k−1 the control matrix and Ck,k−1 is the noise matrix, each referred to epoch k. These system matrices are Jacobi matrices and in general contain the derivatives of the system equations with respect to the corresponding observation group [27,28,29]. Equations (9)–(11) show the system matrices for the approach presented in this section where E is the identity matrix.
T k , k 1 = [ 1 0 0 0 1 0 f 3 φ k f 3 θ k 1 ]
U k , k 1 = [ 0 0 0 0 0 0 0 f 3 g y , k f 3 g z , k ]
C k , k 1 = Δ t E 3 × 3
The observations in the measurement equation are directly observed Euler angles, as also shown in [32]. Therefore, the design matrix Am,k of the Kalman filter equals the identity matrix. They are calculated outside of the Kalman filter ((12)–(14)) by using observed accelerations ax,k, ay,k, az,k and magnetic flux densities mx,k, my,k, mz,k [33]. The accelerations are filtered in a separate Kalman filter to remove high-frequency components due to the movement of the user [2]:
f 4 : φ k = tan 1 ( a y , k a z , k )
f 5 : θ k = tan 1 ( a x , k a y , k sin ( φ k ) + a z , k cos ( φ k ) )
f 6 : ψ k = tan 1 ( m z , k sin ( φ k ) m y , k cos ( φ k ) m x , k cos ( θ k ) + m y , k sin ( θ k ) sin ( φ k ) + m z , k sin ( θ k ) cos ( φ k ) )
The yaw angle calculated with (14) can be subject to magnetic perturbations, especially inside buildings. The redundant determination of the Euler angles in the Kalman filter by using the system equation and the measurement equation dampens the influence of magnetic perturbations. Additionally, the standard deviation of the magnetometer measurements σm will be increased if the magnitude of the measured magnetic field m k is not stable (15), leading to an adaptive standard deviation σm,k for each Kalman filter epoch. As the geomagnetic field should be constant related to the dimensions of a building, it will be assumed that magnetic perturbations are present if the measured magnitude changes:
σ m , k = σ m + | m k m k 1 |
Using the covariance propagation law, the VCM belonging to the directly observed Euler angles Σ φ θ ψ , k is derived (16), wherein Hk is a Jacobi matrix containing the derivatives of (12)–(14) with respect to the accelerometer and magnetometer measurements.
φ θ ψ , k = H k [ a a , k 0 3 × 3 0 3 × 3 σ m , k E 3 × 3 ] H k T H k = [ 0 f 4 a y , k f 4 a z , k 0 0 0 f 5 a x , k f 5 a y , k f 5 a z , k 0 0 0 f 5 a x , k f 5 a y , k f 5 a z , k f 5 m x , k f 5 m y , k f 5 m z , k ]

2.2. Problem Description

To determine the user’s position, the step length is also estimated and will be used with fixed variance in PDR. Figure 1 shows a trajectory calculated with PDR, whereby the yaw is estimated with the Kalman filter mentioned in Section 2.1. Additionally, the 95% confidence ellipses as well as the reference trajectory are part of Figure 1. This measured trajectory will also be used to analyze the partial redundancy in Section 3. During the measurements, the user held the smartphone in portrait mode (Figure 2 left, ϕk ~ 0°). The reference trajectory is calculated from the measurements of the TS16 total station (Leica Geosystems, Heerbrugg, Switzerland) which is tracking the user by the help of a 360°-mini-prism on a helmet (Figure 2 right).
In PDR, the yaw angle is responsible for the shape of the trajectory and the step length for the scale. Hence in Figure 1, the estimated orientation causes the deviations between the estimated and the reference trajectory. As these deviations are not captured by the confidence ellipses—which are a measure for the precision [34]—there are two possible reasons for their appearance: systematic deviations in the observed data or non-Gaussian distributed data. Because of the obvious systematics in the estimated trajectory, it is assumed that systematic deviations are present in the observed data.
Reliability theory deals with the detection of large systematic deviations (inner reliability) and their effect on the estimated quantities (outer reliability) [35,36]. To identify the measurements responsible for the systematic deviations of the orientation between estimated and reference trajectory, the inner reliability is used. Here the partial redundancies ri play a key role. According to [29,37,38], all quantities with stochastic information can be treated as observations.
Observations related to the system equation are the estimated state from the previous epoch x ^ k 1 , the control variables u and the noise variables c. The observations of the measurement equation are summed in the vector l m , where m labels quantities of the measurement equation. With (17)–(20) the partial redundancy can be calculated for the previously mentioned observations according to [29]:
j = 1 n x r x ^ k 1 , k , j = j = 1 n x e j T x ^ x ^ , k 1 T k , k 1 T A m , k T D k 1 A m , k T k , k 1 e j
j = 1 n u r u , k , j = j = 1 n u e j T u u , k U k , k 1 T A m , k T D k 1 A m , k U k , k 1 e j
j = 1 n w r c , k , j = j = 1 n w e j T c c , k C k , k 1 T A m , k T D k 1 A m , k C k , k 1 e j
j = 1 n l r l m , k , j = j = 1 n l e j T l l , m , k D k 1 e j
Therein, ni is the number of observations in each observation group and Dk is the VCM of the filter innovation [27,28,29]. ej is the unity vector to select the corresponding ri respectively diagonal element. In the above formulation of the Kalman filter, the ri can only be calculated for the directly observed angles in the measurement equation but not for the original observations from accelerometer and magnetometer due to the structure of (12)–(14).

2.3. Kalman Filter in the Gauss-Helmert Model

In the GMM, the true observations l ˜ can be modeled as a function of the true parameters x ˜ —which also holds for the estimated observations l ^ and estimated parameters x ^ (21). As mentioned above, the measurement Equations (12)–(14) have another structure, which matches the GHM [39] shown in (22). Hence, the update equations of the Kalman filter have to be derived in the GHM, to directly use the observations from smartphone-sensors. Afterwards, the corresponding ri need to be derived for this case. In [30] the GHM is also used to estimate variance components for the system noise. Though, there is still the assumption of using the GMM in the measurement equation and the results cannot be used in this article.
l ˜ f ( x ˜ ) = l ^ f ( x ^ ) = 0
f ( l ˜ , x ˜ ) = f ( l ^ , x ^ ) = 0
As the functional relations (22) are non-linear in general—and especially in this article—they have to be linearized. Neither the real observations and parameters, nor their estimated values are known a priori. Hence, to do Taylor linearization, approximate values l 0 and x 0 have to be used which also have to satisfy the non-linear relations [34]. In least-squares, especially x 0 is assumed to be non-stochastic. According to [40], l 0 can be replaced by the observed data l after linearization, which results in the linearized, functional model (23):
f ( l , x 0 ) + A ( x ^ x 0 ) + B ( l ^ l ) = 0
The first term corresponds to the misclosure vector w, the bracketed expression in the second term equals the stochastic additions Δ x ^ to the approximate parameters x 0 and the bracketed expression in the third term equals the residuals v . Formula (23) is only valid for the first iteration of least-squares estimation, because linearization of the functional model necessitates an iterative approach. In the subsequent iterations, the functional model is always linearized at the previously estimated observations and parameters [40]. Formulas (24)–(27) show, how the searched quantities with corresponding VCM are calculated in the GHM in the context of least-squares [41]:
Δ x ^ Δ x ^ = ( A T ( B l l B T ) 1 A ) 1
Δ x ^ = Δ x ^ Δ x ^ A T ( B l l B T ) 1 w
v = l l B T ( B l l B T ) 1 ( E A Δ x ^ Δ x ^ A T ( B l l B T ) 1 ) w
v v = l l B T ( B l l B T ) 1 ( E A Δ x ^ Δ x ^ A T ( B l l B T ) 1 ) B l l
B is the observation matrix, Σ Δ x ^ Δ x ^ is the VCM of the estimated additions, Σ l l the VCM of the observations and Σ vv is the VCM of the residuals. It is important that A and B are column-regular matrices. Otherwise the inverse matrices cannot be calculated. To avoid singular matrices, the functional relations have to be chosen, such that there will be no linearly dependent columns in these matrices.
The Kalman filter is based on sequential least-squares with an additional state transition model. The state transition model respectively system equation is described in general by non-linear, stochastic, vector-matrix differential equations. We assume, that such differential equations have the form shown in (28) after linearization, which is also basis for deriving the system equation in [27,28,29]:
x ˙ ( t ) = F x ( t ) + L u ( t ) + G c ( t )
t is the continuous time variable. The system matrix F, control-input matrix L and noise-input matrix G are assumed to be time-invariant. Solving such differential equations in the state space—also shown in [27,28,29]—unambiguously defines the state parameters at time k and gives the approximate formulation (29):
x k T k , k 1 x k + U k , k 1 u k + C k , k 1 c k
As mentioned in [27], the predicted parameter vector x ¯ k should be calculated from the original set of functions (30) in the non-linear case to avoid linearization errors. Equation (29) is necessary for calculating the VCM of x ¯ k with the covariance propagation law (8).
x ¯ k = f ( x ^ k 1 , u k , c k )
The system can also be described by several sub-systems which yields in an over-determined system equation. This will be dealt with in the next section, where one yaw angle will be estimated from multiple trajectory data. Thus, the system equation decomposes into two sets of equations. The first set unambiguously defines the predicted parameters by using x ^ k 1 , uk and ck which is already shown in (29) respectively (30). This set of equations will be—analogue to [29]—formulated in the GHM, such that it contains the residuals belonging to x ^ k 1 , uk and ck (31). The derivation of (31) can be found in the Appendix A:
x ¯ k x ^ k + v x ¯ , k = E Δ x ^ k + [ T k , k 1 U k , k 1 C k , k 1 ] [ v x ^ k 1 , k v u , k v c , k ] = 0
The second set consists of condition equations, having the same structure like (23). These condition equations contain the same quantities like the first set of equations and can therefore be formulated as shown in (32). w*s,k are the misclosures, arising because of the overdetermined system equation respectively condition equations. A*s,k is the design matrix and T*k.k−1, U*k,k−1 and C*k,k−1 are the observation matrices which belong to the condition equations of the system equation:
w s , k * + A s , k * Δ x ^ k + [ T k , k 1 * U k , k 1 * C k , k 1 * ] [ v x ^ k 1 , k v u , k v c , k ] = 0
The functional model of the measurement equation has the structure (23). Fusing the system equation and the measurement equation leads to the functional model of a Kalman filter formulated in the GHM with additional condition equations in the system Equation (33):
[ 0 w s , k * w m , k ] + [ E A s , k * A m , k ] Δ x ^ k + [ T k , k 1 T k , k 1 * 0 U k , k 1 U k , k 1 * 0 C k , k 1 C k , k 1 * 0 0 0 B m , k ] [ v x ^ k 1 , k v u , k v c , k v l m , k ] = [ w s , k w m , k ] w + [ A s , k A m , k ] A Δ x ^ k + [ B s , k , k 1 0 0 B m , k ] B [ v l s , k v l m , k ] v = 0
Now the formulas of the GHM in least-squares can be applied and the parameters with corresponding VCM can be calculated. Equation (34) shows the VCM of the estimated parameters, which is derived by inserting A and B into (24):
x ^ x ^ , k = ( A s , k T ( B s , k , k 1 l l , s , k B s , k , k 1 T ) 1 A s , k + A m , k T ( B m , k l l , m , k B m , k T ) 1 A m , k ) 1 = ( x ^ x ^ , s , k 1 + x ^ x ^ , m , k 1 ) 1
Σ x ^ x ^ , s , k is the VCM of the parameters which would be the result of a Kalman filter only considering the system equation. Similarly, Σ x ^ x ^ , m , k is the VCM of the parameters if only the measurement equation would be considered in the Kalman filter. Σ x ^ x ^ , k is the inverse of the sum of these two matrices. To further process (34), the Woodbury formula for matrix inversion—according to [42]—is applied (35), where M, N, O and P are arbitrary matrices and not related to the derivations made in this section:
( M + N O P ) 1 = M 1 M 1 N ( O 1 + P M 1 N ) 1 P M 1
Depending on which term of the sum in (34) is chosen to be the matrix M in the Woodbury formula (35), results will show two equivalent representations (36) and (37) of the VCM of the estimated parameters. It has to be mentioned, that this VCM corresponds to x ^ k and not to Δ x ^ k . The reason is that x 0 equals x ¯ k , which is stochastic and its stochastic information is implicitly integrated by adding its calculation to the functional model ((31) and (33)). Whereas in least-squares x 0 is non-stochastic and therefore Σ x ^ x ^ equals Σ Δ x ^ Δ x ^ .
x ^ x ^ , k = ( E x ^ x ^ , s , k A m , k T ( B m , k l l , m , k B m , k T + A m , k x ^ x ^ , s , k A m , k T ) 1 A m , k ) x ^ x ^ , s , k
x ^ x ^ , k = ( E x ^ x ^ , m , k A s , k T ( B s , k , k 1 l l , s , k B s , k , k 1 T + A s , k x ^ x ^ , m , k A s , k T ) 1 A s , k ) x ^ x ^ , m , k
By comparing (36) with the update equation for the VCM of the estimated parameters in the GMM (see [29] or [27]), the VCM of the filter innovation Dm,k and the gain matrix Km,k—belonging to the measurement equation—can be found ((39) and (41)). In the same manner, the VCM of the filter innovation Ds,k of and the gain matrix Ks,k belonging to the system equation are derived ((38) and (40)):
D s , k = B s , k , k 1 l l , s , k B s , k , k 1 T + A s , k x ^ x ^ , m , k A s , k T
D m , k = B m , k l l , m , k B m , k T + A m , k x ^ x ^ , s , k A m , k T
K s , k = x ^ x ^ , m , k A s , k T D s , k 1
K m , k = x ^ x ^ , s , k A m , k T D m , k 1
The estimated additions to the approximate parameters are derived by using (25) and (33). Formula (42) shows these additions, where the results from the previous paragraph are already considered. Hence, it includes corrections respectively updates for the system equation as well as for the measurement equation:
Δ x ^ k = K s , k w s , k K m , k w m , k = [ K s , k K m , k ] [ w s , k w m , k ]
If the system equation is not overdetermined, (32) will not be used in the functional model (33), which leads to simplifications in the update equations. The classical Kalman filter update equations as well as the two GHM variants are summarized in Table 1.
Approaches whose aim is to detect systematic deviations in the observations respectively to quantify the inner reliability in the GMM, are often based on the disturbed residuals v ¯ [43]. The error-term v in (43) is caused by the systematic deviations in the observations, summed in the error-vector l :
v ¯ = v + v
ri is the factor which specifies how an observation deviation l i influences the corresponding residual v i (44). Hence, high ri are desirable to detect systematic deviations [29]:
v i = r i l i
Transferring these thoughts to the GHM, (26) has to be used to derive R, containing the ri on its diagonal. R is an idempotent matrix, whose trace equals the overall redundancy of the estimation problem [34]. Formula (26) only contains the misclosures w, which can be linearized by Bl according to [34]. If l is taken into account, results show the disturbed model (45):
v ¯ = l l B T ( B l l B T ) 1 ( E A Δ x ^ Δ x ^ A T ( B l l B T ) 1 ) B ( l + l )
Thus, there is a direct relation between observations and residuals and the redundancy matrix for the GHM is now available (46):
R = l l B T ( B l l B T ) 1 ( E A x ^ x ^ A T ( B l l B T ) 1 ) B
By using (27), (46) equals the matrix product Σ vv Σ l l 1 , whereby the analogy to the GMM is stated again [34]. The proof that the trace of R equals the overall redundancy can be found in Appendix B.

3. Results

In this section the results of the trajectory shown in Section 2.2. will be analyzed by applying the simplified GHM (Table 1) on the approach described in Section 2.1. In a first step, the influence of the observation groups—accelerometer a, magnetometer m, estimated parameters of the previous epoch x, system noise c and gyroscope g—on the estimated orientation will be assessed by means of the ri. Figure 3 shows a representative section of the calculated group redundancies for two different specifications of the sensor- and system noise standard deviations.
For the beginning the focus lies on the left part of Figure 3, where the original standard deviations are used (Table 2). These are derived for each observation in the trajectory parts where the user walked straight. Using these standard deviations leads to a small partial redundancy of the observation groups (x, c, g) of the system equation in comparison to the ones of the measurement equation (a, m). This means that the estimated orientation mainly relies on the system equation. The reason for the high weight of the system equation is that the resulting trajectory should be smoothed [32]. The problem is that if the model assumptions made in the system equation do not capture the reality, the resulting deviations have high influence on the estimated orientation. There are mainly two possibilities to intervene in the partial redundancy respectively the inner reliability, which will be covered in the next two sections.

3.1. Adaption of the Stochastic Model

Adaption of the stochastic model means to change the standard deviations of the different observations. To align the group redundancies of the observation groups (Figure 3 left), the standard deviations of the sensors and system noise are changed until an improvement is visible. This leads to the group redundancies in the right part of Figure 3, where the adapted standard deviations of Table 2 were used. The weight of the system equation in comparison to the measurement equation is now reduced, whereas the ri of the gyroscope and the system noise are now clearly higher. The ri of the magnetometer get close to the ones of the gyroscope if it is used when the user is turning, which yields in good mutual controllability.
To identify the critical observations, the ri of the individual observations are analyzed. Figure 4 shows, that the ri of the accelerometer are continuously higher than 0.2, which means that controllability is sufficient. Calculating the thresholds from which deviations can be—statistically justified—detected (according to [29]), gives ~1.4 m/s2 for the y-component of the accelerometer and ~2 m/s2 for the x- and z-component. The user’s motion causes systematic deviations which exceeds these thresholds. Hence, accelerometer observations which should not be used for calculating pitch and roll can be detected.
The ri of the magnetometer show a remarkable, alternating behavior. In the trajectory parts where the user walks straight, the ri of my are close to zero. Whereas in parts where the user turns, controllability of mx and mz is bad. If there are systematic deviations in these observations, they cannot be detected and have a high influence on the estimated orientation angles. The ri of xϕ and xθ are again continuously higher than 0.2 and therefore sufficiently controlled. The same findings hold for cϕ and cθ, whereas cψ is totally uncontrolled. Generally the ri of the previously estimated parameters and the system noise behave in a similar manner. gy is also uncontrolled as its ri is very close to zero. The ri of gz are again higher than 0.2. The behavior of the ri of the previously estimated yaw angle is interesting, as they go up to 0.25 if the gyroscope measurements are used in the system equation. If the gyroscope is not used in the following epochs the ri decrease.
From the analysis of Figure 4 it can be concluded that there are uncontrollable observations in this approach, even if the standard deviations are adapted. To better understand the behavior of the ri, the influence of the change of the standard deviation σi of one observation on the partial redundancy of the other observations is analyzed. This analysis should support an aimed change of the standard deviations to improve the ri. Table 3 shows how the ri change, if the standard deviation of one observation is multiplied with the factor 10 (left sign in Table 3) respectively 0.1 (right sign in Table 3). The standard deviation of all the observations was varied, except for the ones of the previously estimated parameters, as they are a direct result of the Kalman filter.
The grey shaded cells show the influence of a change of σi of one observation on the corresponding ri. If σi is increased, the weight of the observation will be less in state estimation. Hence the corresponding ri should also be increased. A reduction of σi should cause a smaller ri on the contrary. This is the case for most of the observations, except for gy. The reason therefore is that its ri are already close to zero and a reduction of σi has no effect.
Green shaded cells show a direct functional relation of the corresponding observations (see (1)–(4) and (12)–(14)). The change of σi of one observation influences also the partial redundancy of other observations. A raise of one σi should cause a reduction of partial redundancy of other observations, as they get more weight in the state estimation. A reduction of one σi should raise the partial redundancy of other observations on the contrary. Though, the change of σi of cϕ and cθ, show another behavior. By increasing as well as decreasing σc-ϕ and σc-θ, the rx-ϕ and rx-θ are reduced. A raise of σi of gz respectively of cψ causes also a raise of the ri of the previously estimated yaw angle.
A relation which is not expected from the system equations respectively the measurement equations, appears at the accelerometer measurements. ay is only related to xϕ and cϕ, whereas ax and az are related to xθ and cθ. The change of σi of one of the magnetometer measurements influences the ri of xψ, gz and the other two magnetometer components. my stands out, as a reduction of σi positively influences the ri of cϕ and cθ and the ri of az. Hence, a reduction of σi of my would have the most positive influence on the ri. As the controllability of this observation is bad, a further reduction is not advisable.
Changing the stochastic model clearly has an impact on the inner reliability but it also has limitations. As shown in Table 3, gy as well as cψ are not controlled by any of the other observations (i.e., changing the standard deviation of any other observation does not influence rg-y and rc-ψ). The only way left in the stochastic model is to increase the standard deviation of such observations. In this case it is very likely, that the raised standard deviations cover the systematic deviations which actually should be detected.

3.2. Adaption of the Functional Model

In general, the functional model can be adapted by changing respectively extending the system equations and the measurement equations. As seen in the previous section, the y-component of the gyroscope and the system noise of the yaw angle stay problematical observations, as their controllability cannot be improved by changing σi of other observations. Through the example of the ri of the gyroscope, the functional influences should be analyzed. (47) and (48) show the formulas to calculate the ri of the gyroscope:
r g y = sin 2 φ σ g y 2 d 33 * Δ t 2 cos 2 θ
r g z = cos 2 φ σ g z 2 d 33 * Δ t 2 cos 2 θ
These equations are derived by evaluating (18), which is shown in Appendix C. d33* corresponds to the third diagonal element of the inverse of D. The difference of (47) and (48) is the trigonometric function of the roll angle ϕ (σ2g-y and σ2g-z are assumed to be equal). As the roll angle is close to zero in the considered trajectory, also rg-y will be close to zero even when changing σi of other observations (which influences d33*). Hence, the smartphone orientation during the trajectory measurements has a huge impact on the calculated ri—not only the ones from gyroscope, but also the ones from accelerometer and magnetometer ((12)–(14)). This seems reasonable if a closer look is taken on the quantities used to determine the smartphone orientation. The accelerometer should sense the gravity vector and the magnetometer the Earth magnetic field, which are both a vector quantity. The more sensor components sense these quantities, the better the mutual controllability should be. This should be the same for the gyroscope, which should sense the rotation of the user around the z-axis of the reference respectively navigation coordinate frame.
To check whether the assumptions made above are true, the recorded sensor data from the trajectory are rotated with the rotation matrix R given in (49):
R = R x R y R z R x = [ 1 0 0 0 cos φ sin φ 0 sin φ cos φ ] ,   R y = [ cos θ 0 sin θ 0 1 0 sin θ 0 cos θ ] ,   R z = [ cos ψ sin ψ 0 sin ψ cos ψ 0 0 0 1 ]
ϕ is chosen to be 45° and θ and ψ are 0°. Evaluating the rotated sensor data in the same Kalman filter as used above, gives the partial redundancies shown in Figure 5. The ri of the previously estimated parameters, the system noise as well as the x-components of the sensors are not affected by the rotated data, when comparing the results with Figure 4. The y- and z-components of the sensors are more balanced now, leading to a better mutual controllability. Especially the mean level of the ri of the gyroscope y-component are now approximately 0.1, which is clearly higher compared to Figure 4.
The idea of the following approach is to use multiple trajectory data, to determine the actual smartphone’s orientation. If one thinks of scenarios in crowded environments, it could be that multiple users have already taken the same path as the actual user does. If this data from the users who have taken the same path is stored, it could be used in a multiple trajectory data approach to determine the actual yaw angle, which equals the situation outlined in Section 2.3 where several sub-systems are used to determine the overall-system. Hence, the Gauss-Helmert Kalman filter which incorporates (32) in its functional model (33) has to be used now. In the case of orientation determination, the set of equations which unambiguously determine the state vector (31) are equal to (1), (2) and (3) respectively (4) for the actual trajectory. Now, for every additionally used trajectory, (1) and (2) have to be added to the unambiguous set of equations, as the smartphone’s orientation could be different (the only assumption is that there is the same path, e.g., the same yaw angle). Thus—if Ntr is the number of used trajectories—Ntr roll angles, Ntr pitch angles and one yaw angle have to be estimated. If there is a turn detected in the actual trajectory, gyroscope measurements from multiple smartphones have to be processed. Hence, every additional trajectory contributes with a formula of type (4) to the system equation, which leads to Ntr−1 condition Equations (32) in the system equation. The measurement equation consists of Ntr triples of (12)–(14).
In this article additional trajectories are simulated, which means that they are retrieved from the trajectory considered in this section by performing rotations in the same manner as done in (49). This is a simplification respectively a synthetical example whose aim is to retrieve more insights into how additional observations affect the partial redundancy. Before using additional rotated trajectories, the effect of using the same trajectory data two times will be analyzed. The reason is that no additional roll and pitch angles have to be estimated and therefore the results for the partial redundancy can be directly compared to the results from Section 3.1 respectively Figure 4. The results of the partial redundancy of the observations from the actual trajectory are shown in Figure 6.
The most obvious effect can be seen in the turn detection. The gyroscope is used less in the straight trajectory parts, which leads to slightly different appearance of the ri. Nevertheless, the height of the ri can be compared. The ri of the previously estimated roll and pitch angel has not changed. It can be seen, that the ri of the accelerometer, the system noise components and the previously estimated yaw angle are raised by using additional observations, which is especially important for the system noise of the yaw angle. The controllability of this quantity is now slightly improved. The components of the magnetometer and the gyroscope, which already had quite high ri are now also raised, whereas an effect on the low ri during turns is not visible.
This is not a surprise, as trajectory data is used two times where the controllability of these quantities is suboptimal. Figure 7 shows the partial redundancy of the observations from the actual trajectory by using one additional trajectory, where the smartphone’s orientation is different. This additional trajectory comes from rotating the trajectory data as mentioned above (49), which is a simplification respectively simulation. In a real-life application some sort of search-algorithm would have to be performed on the stored trajectories, to find the ones where users took the same path as in the actual trajectory. The only thing that has changed, are the ri of the previously estimated roll and pitch angles, as they are clearly reduced now. The reason could be that the overall redundancy has not changed from the scenario in Figure 6 to the scenario in Figure 7 but more parameters have to be estimated. The remaining ri have not changed. Especially rg-y is still close to zero, despite using an additional trajectory where the smartphone’s orientation is different. The functional relation of the four gyroscope measurements—resulting from using the actual and the simulated trajectory (i.e., the two formulas of type (4))—doesn’t lead to an improved mutual controllability. The same holds for the ri of the magnetometer measurements which are close to zero.
Figure 8 shows the ground truth from total station (see Section 2.2), the raw result from the magnetometer and different variants of the estimated yaw angle. For better visibility, again a representative section of the trajectory is chosen. Estimation variant 1 clearly differs from the rest of the estimation variants as it is much smoother. In this variant the original standard deviations from Table 2 are used, whereas in the other variants the adapted ones are used. The differences between variant 2 and 3 are negligible. This is reasonable, as the additional trajectory data of variant 3 is just rotated in comparison to the original trajectory data. Thus, the additional trajectory data used in this article does not contribute to the state estimation process but to the improvement of the inner reliability. In future experiments, real multiple trajectory data has to be collected from different smartphones and users to further evaluate the approach presented in this section. In this article, variant 1 performs slightly better with the drawback of worse inner reliability. In the beginning of the trajectory section shown in Figure 8, the raw result from magnetometer as well as the estimated yaw angles are shifted due to undetected systematic deviations. The aim of future research will be to detect such systematic deviations based on improved inner reliability, enabling better performance of a Kalman filter used for orientation determination.

4. Discussion

The main novelty of this article is the formulation of the Kalman filter and the redundancy matrix in the GHM. Depending on the system description in the system equation two different sets of update equations are derived, which are both applied to orientation determination as well as to partial redundancy calculation. The results of these derivations are used to analyze the inner reliability based on the partial redundancy. Analyzing the partial redundancy shows that in the Kalman filter used in Section 2.1 the system equation contribute disproportionately highly to the estimation of the orientation compared the measurement equation. This means that the observations of the system equation are nearly uncontrolled. Two general ways are considered to intervene into the inner reliability respectively partial redundancy.
First, effects of changes in the stochastic model are analyzed. By adapting the standard deviations, the group redundancies can be improved. Analyzing the partial redundancy of the individual observations shows that observations which crucially determine the orientation are still badly controlled. Systematic deviations in such observations can cause huge disturbances in the estimated quantities. By increasing and decreasing the standard deviations, their influence on the partial redundancy was analyzed. It appears that reducing the standard deviation of the magnetometer’s y-component, could increase many partial redundancies but its controllability is bad. The y-component of the gyroscope as well as the system noise of the yaw angle cannot be controlled by observations of the actual trajectory. It has to be mentioned that the resulting insights are in a way limited to the considered trajectory. Such adaptions in the stochastic model have to be also tested in other trajectories and different devices.
Furthermore, effects of changes in the functional model on the partial redundancy are considered. In a first step the influences of the smartphone’s orientation on the partial redundancy were analyzed. Rotating the trajectory data shows that if more than one sensor axis is sensing the quantity of interest, the controllability will be improved. Using multiple trajectory data should take advantage of this behavior. The formulation of the Kalman filter update equations in the GHM enables processing multiple trajectory data in a Kalman filter. Partial redundancy is improved through this approach but still there are critical observations, such as the y-components of the gyroscope and magnetometer. Just using more data does not mandatory lead to better controllability in the GHM. Additionally, improving inner reliability does not lead to better accuracy of the estimated quantities. These questions respectively challenges will be addressed in future studies.

Acknowledgments

The authors acknowledge the FFG for supporting this research and the TU Wien University Library for financial support through its Open Access Funding Program.

Author Contributions

Andreas Ettlinger conceived, designed and performed the experiments; Andreas Ettlinger, Hans Neuner and Thomas Burgess analyzed the data and contributed analysis tools; Andreas Ettlinger wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Formula (31) will be derived by rearranging (30):
0 = f ( x ^ k 1 , u k , c k ) x ¯ k
This is the approximate solution of the following least squares parameter estimation problem:
0 = f ( x ^ ^ k 1 , u ^ k , c ^ k ) x ^ k
This is a special case of the GHM (22). Using the approximate solution for Taylor linearization—and neglecting second and higher order terms—yields:
0 = f ( x ^ k 1 , u k , c k ) x ¯ k E ( x ^ k x ¯ k ) + f x ^ k 1 ( x ^ ^ k 1 x ^ k 1 ) + f u k ( u ^ k u k ) + f c k ( c ^ k c k )
Taking (30) into account, the first two terms are equal to zero. The next step is to insert the following quantities in the linearized functional model above:
f x ^ k 1 = T k , k 1 f u k = U k , k 1 f c k = C k , k 1 x ^ ^ k 1 x ^ k 1 = v x ^ k 1 , k u ^ k u k = v u , k c ^ k c k = v c , k Δ x ^ k = x ^ k x ¯ k
Insertion gives:
0 = E Δ x ^ k + T k , k 1 v x ^ k 1 , k + U k , k 1 v u , k + C k , k 1 v c , k
The last step is to summarize Tk,k−1, Uk,k−1 and Ck,k−1 in one matrix and v x ^ , k 1 , k , v u , k and v c , k in one vector:
E Δ x ^ k + [ T k , k 1 U k , k 1 C k , k 1 ] [ v x ^ k 1 , k v u , k v c , k ] = 0

Appendix B

The following calculation rules will be used to calculate the overall redundancy [42]:
t r ( A B ) = t r ( B A ) t r ( A + B ) = t r ( A ) + t r ( B )
Calculation of the trace of R:
t r ( R ) = t r ( l l B T ( B l l B T ) 1 ( E A x ^ x ^ A T ( B l l B T ) 1 ) B ) = t r ( ( B l l B T ) 1 ( E A x ^ x ^ A T ( B l l B T ) 1 ) B l l B T ) = t r ( ( B l l B T ) 1 ( B l l B T A x ^ x ^ A T ) ) = t r ( E ) t r ( ( B l l B T ) 1 A x ^ x ^ A T )
The identity matrix comes from the matrix product BΣllBT and its inverse. B contains the derivatives of the condition equations with respect to the observations. Therefore, its dimension is b × n, where n equals the number of observations and b equals the number of condition equations. Hence, the identity matrix has dimension b × b and its trace corresponds to the number of condition equations:
t r ( R ) = b t r ( ( B l l B T ) 1 A x ^ x ^ A T ) = b t r ( A T ( B l l B T ) 1 A x ^ x ^ ) = b t r ( A T ( B l l B T ) 1 A ( A T ( B l l B T ) 1 A ) 1 ) = b t r ( E )
As A contains the derivatives of the condition equations with respect to the parameters, the identity matrix has dimension u × u, where u equals the number of parameters. Thus, the trace of R equals the number condition equations minus the number of parameters, which is the overall redundancy in the GHM [34].
t r ( R ) = b u = r

Appendix C

To derive (47) and (48), the following quantities are used to evaluate (18):
u u , k = [ σ g x 2 0 0 0 σ g y 2 0 0 0 σ g z 2 ] = σ g 2 E U k , k 1 = [ 0 0 0 0 0 0 0 sin φ Δ t cos θ cos φ Δ t cos θ ] A m , k = E D k 1 = [ d 11 * d 12 * d 13 * d 21 * d 22 * d 23 * d 31 * d 32 * d 33 * ]
Uk,k−1 contains the derivatives of (1), (2) and (4) with respect to the gyroscope measurements. Am,k contains the derivatives of (12)–(14) with respect to the parameters respectively the Euler angles and therefore equals the negative identity matrix The variances of the three gyroscope axes are assumed to be equal. Inserting these quantities into (12) gives:
j = 1 n u r u , k , j = σ g 2 j = 1 n u e j T E [ 0 0 0 0 0 sin φ Δ t cos θ 0 0 cos φ Δ t cos θ ] ( E ) [ d 11 * d 12 * d 13 * d 12 * d 22 * d 23 * d 13 * d 23 * d 33 * ] ( E ) [ 0 0 0 0 0 0 0 sin φ Δ t cos θ cos φ Δ t cos θ ] e j
Evaluating the expression between the identity vectors ej gives:
j = 1 n u r u , k , j = σ g 2 d 33 * Δ t 2 cos 2 θ j = 1 n u e j T [ 0 0 0 0 sin 2 φ sin φ cos φ 0 sin φ cos φ cos 2 φ ] e j

References

  1. Titterton, D.; Weston, J. Strapdown Inertial Navigation Technology, 2nd ed.; Institution of Engineering and Technology: Stevenage, UK, 2004; ISBN 978-0-86341-358-2. [Google Scholar]
  2. Särkkä, S.; Tolvanen, V.; Kannala, J.; Rahtu, E. Adaptive Kalman filtering and smoothing for gravitation tracking in mobile systems. In Proceedings of the 2015 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Banff, AB, Canada, 13–16 October 2015; IEEE: Piscataway, NJ, USA, 2015. [Google Scholar]
  3. Groves, P.D. Principles of GNSS, Inertial and Multisensor Integrated Navigation Systems, 2nd ed.; Artech House: London, UK, 2013; ISBN 179-1-60807-005-3. [Google Scholar]
  4. Kang, W.; Nam, S.; Han, Y.; Lee, S. Improved heading estimation for smartphone-based indoor positioning systems. In Proceedings of the 2012 IEEE 23rd International Symposium on Personal Indoor and Mobile Radio Communications (PIMRC), Sidney, NSW, Australia, 9–12 September 2012; IEEE: Piscataway, NJ, USA, 2012. [Google Scholar]
  5. Crassidis, J.L.; Markley, F.L.; Cheng, Y. Survey of nonlinear attitude estimation methods. J. Guid. Control Dyn. 2007, 30, 12–28. [Google Scholar] [CrossRef]
  6. Sabatini, A.M. Quaternion-based extended Kalman filter for determining orientation by inertial and magnetic sensing. IEEE Trans. Biomed. Eng. 2006, 53, 1346–1356. [Google Scholar] [CrossRef] [PubMed]
  7. Tian, Z.; Zhang, Y.; Zhou, M.; Liu, Y. Pedestrian dead reckoning for MARG navigation using a smartphone. EURASIP J. Adv. Signal Process. 2014, 2014. [Google Scholar] [CrossRef]
  8. Renaudin, V.; Combettes, C. Magnetic, Acceleration Fields and Gyroscope Quaternion (MAGYQ)-Based Attitude Estimation with Smartphone Sensors for Indoor Pedestrian Navigation. Sensors 2014, 14, 22864–22890. [Google Scholar] [CrossRef] [PubMed]
  9. Zhu, X.; Li, Q.; Chen, G. APT: Accurate outdoor pedestrian tracking with smartphones. In Proceedings of the INFOCOM 2013, Turin, Italy, 14–19 April 2013; IEEE: Piscataway, NJ, USA, 2013. [Google Scholar]
  10. Borenstein, J.; Ojeda, L.; Kwanmuang, S. Heuristic reduction of gyro drift in IMU-based personnel tracking systems. J. Navig. 2009, 62, 41–58. [Google Scholar] [CrossRef]
  11. Jiménez, A.R.; Seco, F.; Prieto, J.C.; Guevara, J. Indoor pedestrian navigation using an INS/EKF framework for yaw drift reduction and a foot-mounted IMU. In Proceedings of the 7th Workshop on Positioning Navigation and Communication (WPNC), Dresden, Germany, 11–12 March 2010; IEEE: Piscataway, NJ, USA, 2010. [Google Scholar]
  12. Blankenbach, J.; Sternberg, H.; Tilch, S. Indoor-Positionierung. In Handbuch der Geodäsie; Freeden, W., Rummel, R., Eds.; Springer: Berlin, Germany, 2015; pp. 1–36. ISBN 978-3-662-46900-2. [Google Scholar]
  13. Sternberg, H.; Willemsen, T. Ein topologischer Ansatz zur Innenraumnavigation mit MEMS in Smartphones basierend auf dem Routing-Graph. In Internationale Geodätische Woche Obergurgl 2017; Hanke, K., Weinbold, T., Eds.; Wichmann: Berlin, Germany, 2017; pp. 51–60. [Google Scholar]
  14. Bahl, P.; Padmanabhan, V. RADAR: An In-building RF-based User Location and Tracking System. In Proceedings of the INFOCOM 2000 19th Annual Joint Conference of the IEEE Computer and Communications Societies, Tel Aviv, Israel, 26–30 March 2000; IEEE: Piscataway, NJ, USA, 2000. [Google Scholar]
  15. Honkavirta, V.; Perälä, T.; Ali-Löytty, S.; Piche, R. A Comparative Survey of WLAN Location Fingerprinting Methods. In Proceedings of the 6th Workshop on Positioning, Navigation and Communication (WPNC), Hannover, Germany, 19 March 2009; IEEE: Piscataway, NJ, USA, 2009. [Google Scholar]
  16. Schmid, J.; Gädeke, T.; Curtis, D.; Ledlie, J. Improving sparse organic WiFi localization with inertial sensors. In Proceedings of the 9th Workshop on Positioning Navigation and Communication (WPNC), Dresden, Germany, 15–16 March 2012; IEEE: Piscataway, NJ, USA, 2012. [Google Scholar]
  17. Zhu, J.; Sen, S.; Mohapatra, P.; Kim, K.H. Navigating in Signal Space: A Crowd-Sourced Sensing Map Construction for Navigation. In Proceedings of the 11th International Conference on Mobile Ad Hoc and Sensor Systems, Philadelphia, PA, USA, 28–30 October 2014; IEEE: Piscataway, NJ, USA, 2014. [Google Scholar]
  18. Wang, Y.; Wong, A.K.S.; Cheng, R.S.K. Adaptive room-level localization system with crowd-sourced WiFi data. In Proceedings of the 2015 SAI Intelligent Systems Conference (IntelliSys), London, UK, 10–11 November 2015; IEEE: Piscataway, NJ, USA, 2015. [Google Scholar]
  19. Abadi, M.J.; Luceri, L.; Hassan, M.; Chou, C.T.; Nicoli, M. A Collaborative Approach to Heading Estimation for Smartphone-based PDR Indoor Localisation. In Proceedings of the 2014 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Busan, Korea, 27–30 October 2014; IEEE: Piscataway, NJ, USA, 2014. [Google Scholar]
  20. Dong, B.; Burgess, T. Adaptive Kalman Filter for Indoor Navigation. In Proceedings of the 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Madrid, Spain, 4–7 October 2016; IEEE: Piscataway, NJ, USA, 2016. [Google Scholar]
  21. Guan, T.; Fang, L.; Dong, W.; Qiao, C. Robust Indoor Localization with Smartphones through Statistical Filtering. In Proceedings of the 2017 International Conference on Computing, Networking and Communications (ICNC), Santa Clara, CA, USA, 26–29 January 2017; IEEE: Piscataway, NJ, USA, 2017. [Google Scholar]
  22. Retscher, G.; Tatschl, T. Indoor positioning using Wi-Fi lateration—Comparison of two common range conversion models with two novel differential approaches. In Proceedings of the 2016 Fourth International Conference on Ubiquitous Positioning, Indoor Navigation and Location Based Services (UPINLBS), Shanghai, China, 2–4 November 2016; IEEE: Piscataway, NJ, USA, 2016. [Google Scholar]
  23. Kaemarungsi, K. Design of Indoor Positioning Systems Based on Location Fingerprinting Technique. Ph.D. Thesis, School of Information Science, University of Pittsburgh, Pittsburgh, PA, USA, 2005. [Google Scholar]
  24. Gikas, V.; Dimitratos, A.; Perakis, H.; Retscher, G.; Ettlinger, A. Full-scale testing and performance evaluation of an active RFID system for positioning and personal mobility. In Proceedings of the 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Madrid, Spain, 4–7 October 2016; IEEE: Piscataway, NJ, USA, 2016. [Google Scholar]
  25. Hellmers, H.; Eichhorn, A.; Norrdine, A.; Blankenbach, J. IMU/magnetometer based 3D indoor positioning for wheeled platforms in NLoS scenarios. In Proceedings of the 2016 International Conference on Indoor Positioning and Indoor Navigation (IPIN), Alcala de Henares, Madrid, Spain, 4–7 October 2016; IEEE: Piscataway, NJ, USA, 2016. [Google Scholar]
  26. Niedermayr, S. Positionsbestimmung durch Kombination geometrie- und merkmalsbasierter Verfahren unter Einbeziehung der Qualität. Ph.D. Thesis, Fakultät für Mathematik und Geoinformation, TU Wien, Vienna, Austria, 2015. [Google Scholar]
  27. Gelb, A. Applied Optimal Estimation; MIT Press: Cambridge, MA, USA, 1974; ISBN 978-0-262-20027-1. [Google Scholar]
  28. Simon, D. Optimal State Estimation: Kalman, H infinity, and Nonlinear Approaches; John Wiley & Sons: Hoboken, NJ, USA, 2006; ISBN 978-0-471-70858-2. [Google Scholar]
  29. Heunecke, O.; Kuhlmann, H.; Welsch, W.; Eichhorn, A.; Neuner, H. Auswertung Geodätischer Überwachungsmessungen, 2nd ed.; Wichmann: Berlin, Germany, 2013; ISBN 978-3-87907-467-9. [Google Scholar]
  30. Petersen, A.; Koch, R. Statistical Analysis of Kalman Filters by Conversion to Gauss-Helmert Models with Applications to Process Noise Estimation. In Proceedings of the 20th International Conference on Pattern Recognition, Istanbul, Turkey, 23–26 August 2010; IEEE: Piscataway, NJ, USA, 2010. [Google Scholar]
  31. Wang, J.G. Filtermethoden zur Fehlertoleranten Kinematischen Positionsbestimmung. Ph.D. Thesis, Universität der Bundeswehr München, Neubiberg, Germany, 1997. [Google Scholar]
  32. Ettlinger, A.; Neuner, H.; Burgess, T. Smartphone Sensor-Based Orientation Determination for Indoor-Navigation. In Progress in Location-Based Services 2016, 1st ed.; Gartner, G., Huang, H., Eds.; Springer: Berlin, Germany, 2017; pp. 49–68. ISBN 978-3-319-47288-1. [Google Scholar]
  33. Ozyagcilar, T. Implementing a Tilt-Compensated eCompass Using Accelerometer and Magnetometer Sensors; AN 2012, 4248; Freescale Semiconductor: Austin, TX, USA, 2015. [Google Scholar]
  34. Niemeier, W. Ausgleichungsrechnung: Statistische Auswertemethoden, 2nd ed.; Walter de Gruyter: Berlin, Germany, 2008; ISBN 978-3-11-019055-7. [Google Scholar]
  35. Wieser, A.; Petovello, M.G.; Lachapelle, G. Failure scenarios to be considered with kinematic high precision relative GNSS positioning. In Proceedings of the 17th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS), Long Beach, CA, USA, 21–24 September 2004; ION: Manassas, VA, USA, 2004. [Google Scholar]
  36. Yang, L.; Li, B.; Shen, Y.; Rizos, C. Extension of Internal Reliability Analysis regarding Seperability Analysis. J. Surv. Eng. 2017, 143, 1–10. [Google Scholar] [CrossRef]
  37. Wang, J.G. Reliability analysis in Kalman filtering. J. Glob. Position. Syst. 2009, 8, 101–111. [Google Scholar] [CrossRef]
  38. Wang, J.G. Test Statistics in Kalman Filtering. J. Glob. Position. Syst. 2008, 7, 81–90. [Google Scholar] [CrossRef]
  39. Koch, K.R. Outlier detection for the nonlinear Gauss Helmert model with variance components by the expectation maximization algorithm. J. Appl. Geod. 2014, 8, 185–194. [Google Scholar] [CrossRef]
  40. Koch, K.R. Robust estimations for the nonlinear Gauss Helmert model by the expectation maximization algorithm. J. Geod. 2014, 88, 263–271. [Google Scholar] [CrossRef]
  41. Jäger, R.; Müller, T.; Saler, H.; Schwäble, R. Klassische und Robuste Ausgleichungsverfahren; Wichmann: Berlin, Germany, 2005; ISBN 3-87907-370-8. [Google Scholar]
  42. Voigt, C.; Adamy, J. Formelsammlung der Matrizenrechnung, 1st ed.; Oldenbourg Wissenschaftsverlag GmbH: München, Germany, 2007; ISBN 978-3-486-58350-2. [Google Scholar]
  43. Kuusniemi, H.; Wieser, A.; Lachapelle, G.; Takala, J. User-level reliability monitoring in urban personal satellite-navigation. IEEE Trans. Aerosp. Electron. Syst. 2007, 43, 1305–1318. [Google Scholar] [CrossRef]
Figure 1. PDR Trajectory. Ground truth in magenta, estimated steps in blue with 95% confidence ellipses.
Figure 1. PDR Trajectory. Ground truth in magenta, estimated steps in blue with 95% confidence ellipses.
Sensors 18 00414 g001
Figure 2. Used sensors and measurement setup: Samsung Galaxy S7 (Samsung, Seoul, Korea), smartphone running indoo.rs Mobile ToolkitTM to collect sensor observations (left). Helmet with 360°-mini-prism (middle) and Leica TS16 tracking the user (right).
Figure 2. Used sensors and measurement setup: Samsung Galaxy S7 (Samsung, Seoul, Korea), smartphone running indoo.rs Mobile ToolkitTM to collect sensor observations (left). Helmet with 360°-mini-prism (middle) and Leica TS16 tracking the user (right).
Sensors 18 00414 g002
Figure 3. Redundancies of the observation groups used in the Kalman filter. (Left) Calculation with the original standard deviations; (Right) Calculation with adapted standard deviations.
Figure 3. Redundancies of the observation groups used in the Kalman filter. (Left) Calculation with the original standard deviations; (Right) Calculation with adapted standard deviations.
Sensors 18 00414 g003
Figure 4. Partial redundancy of the accelerometer, magnetometer, previously estimated parameter, system noise and gyroscope (top to bottom).
Figure 4. Partial redundancy of the accelerometer, magnetometer, previously estimated parameter, system noise and gyroscope (top to bottom).
Sensors 18 00414 g004
Figure 5. Partial redundancy of the rotated trajectory.
Figure 5. Partial redundancy of the rotated trajectory.
Sensors 18 00414 g005
Figure 6. Partial redundancy of the actual trajectory when using two times the same trajectory data.
Figure 6. Partial redundancy of the actual trajectory when using two times the same trajectory data.
Sensors 18 00414 g006
Figure 7. Partial redundancy of the actual trajectory when using additional data from one simulated, rotated trajectory.
Figure 7. Partial redundancy of the actual trajectory when using additional data from one simulated, rotated trajectory.
Sensors 18 00414 g007
Figure 8. Different results for the yaw angle compared to ground truth from total station. In estimation variant 1 the original standard deviations from Table 2 are used. Variant 2 uses the adapted standard deviations. Variant 3 uses one simulated additional trajectory (equal to the one of Figure 7).
Figure 8. Different results for the yaw angle compared to ground truth from total station. In estimation variant 1 the original standard deviations from Table 2 are used. Variant 2 uses the adapted standard deviations. Variant 3 uses one simulated additional trajectory (equal to the one of Figure 7).
Sensors 18 00414 g008
Table 1. Comparison of the Kalman filter update equations.
Table 1. Comparison of the Kalman filter update equations.
Gauss-MarkovGauss-Helmert (Simplification)Gauss-Helmert
d l m f m ( x ¯ ) w m = f m ( l m , x ¯ ) [ w s w m ] = [ f s ( l s , x ¯ ) f m ( l m , x ¯ ) ]
D A m x ¯ x ¯ A m T B m l l , m B m T + A m x ¯ x ¯ A m T [ D s 0 0 D m ] =
= [ B s l l , s B s T + A s x ^ x ^ , m A s T 0 0 B m l l , m B m T + A m x ^ x ^ , s A m T ]
K x ¯ x ¯ A m T D 1 [ K s K m ] = [ x ^ x ^ , m A s T D s 1 x ^ x ^ , s A m T D m 1 ]
x ^ x ^ ( E K A m ) x ¯ x ¯ ( E K m A m ) x ^ x ^ , s = ( E K s A s ) x ^ x ^ , m
x ^ x ¯ + K d
Table 2. Standard deviations used for the sensor measurements and system noise.
Table 2. Standard deviations used for the sensor measurements and system noise.
Standard DeviationsGyroscopeSystem NoiseAccelerometerMagnetometer
Original30°/s10°/s1 m/s25 μT
Adapted60°/s20°/s0.5 m/s22.5 μT
Table 3. Influence of the change of the standard deviation of one observation on the partial redundancy of the other observations. “+” indicates a raise and “−” a reduction of the partial redundancy. At the left sign, the standard deviation was increased by the factor 10 and at the right sign it was decreased by the factor 0.1. Grey shaded cells show the change in the corresponding observation and green means that the observations are functionally related.
Table 3. Influence of the change of the standard deviation of one observation on the partial redundancy of the other observations. “+” indicates a raise and “−” a reduction of the partial redundancy. At the left sign, the standard deviation was increased by the factor 10 and at the right sign it was decreased by the factor 0.1. Grey shaded cells show the change in the corresponding observation and green means that the observations are functionally related.
σg-yσg-zσc-ϕσc-θσc-ψσa-xσa-yσa-zσm-xσm-yσm-z
rx-ϕ −|− −|+
rx-θ −|− −|+ −|+
rx-ψ +|− +| −|+−|+−|+
rg-y+|
rg-z +|− −|+−|+−|+
rc-ϕ +|− −|+ |+
rc-θ +|− −|+ −|+ |+
rc-ψ +|−
ra-x −|+ +|− −|+
ra-y −|+ +|−
ra-z −|+ −|+ +|− |+
rm-x −|+ +|−−|+−|+
rm-y −|+ −|++|−−|+
rm-z −|+ −|+−|++|−

Share and Cite

MDPI and ACS Style

Ettlinger, A.; Neuner, H.; Burgess, T. Development of a Kalman Filter in the Gauss-Helmert Model for Reliability Analysis in Orientation Determination with Smartphone Sensors. Sensors 2018, 18, 414. https://doi.org/10.3390/s18020414

AMA Style

Ettlinger A, Neuner H, Burgess T. Development of a Kalman Filter in the Gauss-Helmert Model for Reliability Analysis in Orientation Determination with Smartphone Sensors. Sensors. 2018; 18(2):414. https://doi.org/10.3390/s18020414

Chicago/Turabian Style

Ettlinger, Andreas, Hans Neuner, and Thomas Burgess. 2018. "Development of a Kalman Filter in the Gauss-Helmert Model for Reliability Analysis in Orientation Determination with Smartphone Sensors" Sensors 18, no. 2: 414. https://doi.org/10.3390/s18020414

APA Style

Ettlinger, A., Neuner, H., & Burgess, T. (2018). Development of a Kalman Filter in the Gauss-Helmert Model for Reliability Analysis in Orientation Determination with Smartphone Sensors. Sensors, 18(2), 414. https://doi.org/10.3390/s18020414

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop