Observability Analysis of a Matrix Kalman Filter-Based Navigation System Using Visual/Inertial/Magnetic Sensors

A matrix Kalman filter (MKF) has been implemented for an integrated navigation system using visual/inertial/magnetic sensors. The MKF rearranges the original nonlinear process model in a pseudo-linear process model. We employ the observability rank criterion based on Lie derivatives to verify the conditions under which the nonlinear system is observable. It has been proved that such observability conditions are: (a) at least one degree of rotational freedom is excited, and (b) at least two linearly independent horizontal lines and one vertical line are observed. Experimental results have validated the correctness of these observability conditions.


Introduction
Inertial navigation systems (INS) have been widely used in many systems, such as ground vehicles, airplanes, helicopters, robotic systems, etc. However, INS drift will lead to exponential growth of errors in the navigation solutions due to the double integration of acceleration signals within inertial navigation computations. Therefore, to overcome such a problem, it is a very common practice to integrate INS with other sensors, which can calibrate the inertial sensor errors. In most outdoor OPEN ACCESS applications, a Kalman filter estimator can be used for optimally combining both IMU and GPS measurements [1]. However, an indoor navigation system cannot use GPS since its signals are not available.
An alternative approach to calibrate INS errors is via the use of other sensors, such as cameras and magnetic sensors. Combining these two sensors to form a vision-aided inertial navigation system (V-INS) has recently become a popular topic of research [2]. By sensing the Earth's magnetic field a magnetic sensor can provide a drift-free heading estimate. Accurate 3-D orientation estimates of a rigid body by inertial/magnetic sensing were exploited in [3], where the aiding sensors (accelerometer and magnetic sensor) helped mitigate low-frequency gyro drift errors, while, in turn, the signals from the aiding sensors, which are prone to relatively high-frequency errors, are smoothed using gyro data. They are all based on the concept of vector matching, which requires, in principle, the measurements of constant reference vectors (e.g., gravity and the Earth's magnetic field) [4].
In this paper, we present a matrix Kalman filter (MKF) in which the estimate of the state matrix is expressed in terms of the matrix parameters of the original plant. The MKF has the statistical properties of the ordinary EKF, while retaining the advantages of a compact matrix notation by expressing the estimated matrix in terms of the original plant parameters [5].
The major contribution of this paper is to elucidate under which conditions a MKF-based nonlinear system for indoor navigation using visual/inertial/magnetic sensors is observable; in other words, the conditions when sufficient information is available for estimating a state matrix that contains, in the present case, the body attitude matrix, the gyro bias vector, relative velocity vector, the dual part of landmark and the magnetic variation superimposed to the magnetic reference vector. For the purpose of orientation determination, an accurately known homogeneous magnetic field in the environment is needed. Magnetic homogeneity is difficult to achieve, especially indoors, due to the presence of iron construction materials in floors, walls and ceilings, or to interferences from various types of equipment. In order to compensate for magnetic variations, a first-order Gauss-Markov vector random process is chosen to model the magnetic variation. To the best of our knowledge, there has been no such observability analysis so far for the integrated navigation systems in 3-D. We have extended the current work for the observability analysis for an orientation system described in [6], to the 3-D navigation systems based on inertial/visual/magnetic sensors.

Inertial Sensor
Without loss of generality, the navigation reference frame is selected as the local-level frame (North-East-Down). Denote the navigation frame by n, the INS body frame by b, the camera frame by c and the inertial frame by i. Using gyros/accelerometers outputs, the relative velocity v n and the body attitude matrix C b n satisfy the kinematic equations as [1,7]: (1) where ξ n is an arbitrary point on the observed line, r b is the lever arm from the IMU to the camera, as shown in Figure 1. b a and b g are 3 × 1 vectors that describe the biases affecting the accelerometer and gyro measurements, respectively. b a can be compensated on time scales up to few hours, using the procedure described in [8]. b g are modeled as random walk processes, driven by the white Gaussian noise vectors n ωg . [ω b nb ×] is the skew symmetric matrix of ω b nb . In the context of MEMS sensors, the component in the gyro output due to the Earth's rotation can be neglected as compared to the sensor errors.

Visual Sensor
The line point is taken as line representation, which is defined as the intersection of a line feature with a line passing through the image origin that is perpendicular to the line feature. The line point is unique for all lines except the lines passing through the origin. The line point is calculated by Goddard as [9]: (5) Line features are represented by quaternion. Î = l + εm, where l is the unit direction vector of the observed line and m is related to the position by m = p × 1. In the n-frame: (6) while in the c-frame: where r b can be ignored when the IMU and the camera are mounted closely together.
If relative position ξ n is orthogonal to l n , that is, ξ n ·l n = 0, then we can obtain: That is to say, the norm of m n is the minimum distance from the vehicle to the observed line. Using Equation (1), we obtain: For simplification, only vertical lines and horizontal lines are chosen as landmarks. According to Equation (5), we obtain: (10) A monocular camera is not enough to calculate m z due to its inherent limitation of depth information deficiency. In order to solve this problem, we can use stereo cameras or a monocular camera with height information to obtain m z .

Magnetic Sensor
A first-order Gauss-Markov vector random process with statistically independent components is chosen to model magnetic variations as follows [10]: (11) where α is a positive constant, and n ωh is white Gaussian noise.

Process Model
The evolving state is described as follows: (12) where m n is the relative distance of the vehicle with respect to the observed line, v n is the relative velocity.
The relative position of the vehicle with respect to the observed line, , can be calculated as follows: (1) Calculate the point of intersection of the observed lines. According to Equation (6), we obtain: (2) Calculate the translation along the observed line direction from the intersection to the vertical point. According to Equation (8), we obtain: Because the unique of perpendicular point, the translation along the observed line direction, ρ, is also uniqueness. From Equation (14), we obtain: (15) The discretization of Equation (3) gives the following equation [11]: (17) where Ф k is the transition matrix from time t k to time t k+1 that corresponds to -[ω b ib ×]. We assume that ω b ib is piece wisely constant in the tiny time intervals Δt = t k+1 − t k , and then, Ф k in Equation (17) can be approximated as: (18) Furthermore, w k can be written as: where h.o.t denotes the terms of the second order Δt 2 and higher. Note that the process noise matrix, w k , is state dependent, and that the first-order term is linear in the components of the white Gaussian noise vectors n g .

Measurement Model
The matrix measurement equation: where the measurement matrices are: (32) and the measurement noise covariance matrix is given as:

Update
Putting m = 3, n = 8, p = 3, q = 2, μ= 8, v = 2 into Equations described in [5], we can obtain time update and measurement update equations. However, due to the existence of the input matrix, the time update equation below is not the same as that given in [15]: where denotes the Kronecker product [12], is a 3 × 3 submatrix of the 24 × 6 matrix K k+1 defined by: and E lj is a 2 × 8 matrix with 1 at position (ij) and 0 elsewhere:

Orthogonalization
The Kalman filter is not designed to preserve any relationship among the components of the estimated state matrix . It would not preserve the orthogonality. Iterative brute-force orthogonalization is presented for its low computation load [11]. The iterative brute-force procedure is as follows [13]: Although this algorithm is suboptimal, it is much simpler than the optimal algorithm given by Equation (45). When applied recursively, this algorithm produces a sequence of estimates that converge to the optimal solution of Equation (45) [14]. Moreover, as evidenced by simulations, 8 1/ / 1r orthogonality can be usually reached in all practical applications after just one or two iterations of Equation (44): (45)

Observability Analysis
A system is observable if its states at a certain time instant can be uniquely determined given a finite sequence of its outputs [15]. Intuitively, observability means that the measurements of an observable system can provide sufficient geometric information for estimating its states. In contrast, the state vector of an unobservable system cannot be recovered regardless of the duration of the estimation process.
In this paper, we study the observability of the nonlinear system describing the visual/inertial/magnetic sensor based navigation process. The system state vector is chosen as follows: ( 46) where c is defined as: ( ) 3 1  3 3  3 3   3 3   3 3  3 3   3 3  3 3   3 3 Also, note that f 0 is a 24 × 1 vector, while and are both compact representations of three vectors of dimension 24 × 1, i.e., where, for i = 1,2,3, f li denotes the i th column vector comprising and ω x , ω y , and ω z are the scalar components of the rotational velocity vector.
The measurement functions are as follows: (52) where: (55) Furthermore, we enforce the orthogonal constraints by employing the following additional measurement equations: (57) It suffices to show that a subset of the rows of the observability matrix (cf. Equation (75)) are linearly independent. In the remainder of this section, we will prove that the system described by Equations (50)-(57) is observable by computing among the candidate the zeroth-and first-order Lie derivatives of , , , and , the ones whose gradients ensure that the observability matrix is full rank.
Equation (67) is proved in Appendix A, while their gradients are given by: In these expressions, X 1 and X 2 are both 3 × 9 matrices and regardless of their values, they will be eliminated from the following derivations; hence, they need not be computed explicitly. The next first-order Lie derivative of interest is that of with respect to f 1 , i.e., . At this point, it is important to note that f 1 as defined in Equation (50) is a compact representation of three column vectors. Similarly, we can also write the resultant Lie derivative in a compact form (i.e., a 3 × 3 matrix): (71) Stacking the gradients of the three columns together gives: where the matrices: (73) of dimensions 9 × 9 and 9 × 3, have the block-row elements (for i = 1,2,3) as follows: Stacking together all the previously computed gradients of the Lie derivatives, we form the observability matrix as: In order to prove that the system described by Equations (50)-(57) is observable, we show that the matrix is full rank (i.e., the state space of the system is spanned by the gradients of the Lie derivatives of the measurement functions [16,17]). Before presenting the main result of this section, we first present the following two lemmas whose proofs are detailed in Appendixs B and C, respectively. Lemma 1: The 15 × 12 matrix: is rank 9 if at least one degree of rotational freedom is excited. Lemma 2: The 6 × 6 matrix: is full rank if two linearly independent horizontal lines are observed.
( ) The observability matrix (cf. Equation (75)) is full rank when: (a) at least one degree of rotational freedom is excited; (b) at least one vertical line and two linearly independent horizontal lines are observed. The proofs are given in Appendix D.

Hardware Description
In order to demonstrate the validity of the proposed algorithm in realistic situations, we conducted indoor experiments using a testbed that consists of an ISIS IMU, a Firewire camera, a magnetometer, and a computer for data acquisition. The IMU, the camera, and the magnetometer were rigidly mounted on the chassis and their relative pose did not change during the experiment. The magnetometer was placed far from current wires, computer, and ferromagnetic materials. The raw data were delivered through an USB interface to the computer. The intrinsic parameters of the camera and transformation among the IMU, the camera and the magnetometer were calibrated prior to the experiment and were treated as constants. A monocular camera cannot determine the depth information. In order to solve the problem, the height of the camera from the ground plane was measured, and the lines which are on the ground and perpendicular to the ground were chosen as landmarks. We used basic trigonometry to determine the depth information. m c can be calculated as measurements. Accuracies of the sensors are listed in Table 1. The IMU, camera and magnetometer were electronically time-synchronized.

Experiment Profile
A short distance experiment was carried out in the hallway. The testbed was rigidly mounted on the chassis of a pushcart. The estimated 3-D trajectory of the pushcart can be seen in Figure 2. The initial position of the pushcart is denoted by '*'.
The line features were extracted using the Hough transform. The line-points can be easily calculated with the detection values (ρ,ө) from the Hough transform. It was assumed that the camera measurements were corrupted by additive white Gaussian noise with a standard deviation of 2 pixels. The actual pixel noise is less than 2 pixels. However, in order to compensate the existence of the unmodeled nonlinearities and imperfect camera calibration, the noise standard deviation was increased to 2 pixels. It is noteworthy that the camera motion was almost in parallel to the optical axis, a condition which is particularly adverse for the image-based motion estimation algorithms [18]. In Figure 3, the 3σ bounds for the errors in the attitude matrix and the velocities along the three axes are shown. The plotted values are 3-times the square roots of the corresponding diagonal elements of the state covariance matrix. Position errors were mainly caused by the precision of visual measurement and attitude estimate, especially attitude estimate. Because the steel framed buildings affect the magnetic field, the precision of attitude estimate by inertial/magnetic sensors is not high. (c) (d)

Conclusions
In this paper, we have studied observability of a MKF-based algorithm for indoor navigation using visual/inertial/magnetic sensors. The estimation algorithm uses a compact matrix notation to produce the matrix estimate and the estimation error covariance matrix. The MKF is a natural and straightforward extension of the ordinary KF. Compared with the ordinary KF, the MKF model consists of both pseudo-linear process model and nonlinear measurement model.
The observability of the nonlinear system describing the integrated navigation with visual/inertial/magnetic sensors was investigated by employing the observability rank conditions defined with the Lie derivatives. The pseudo-linear process help simplifying the gradient operator in the process of observability analysis. This paper has for the first time proved that the observability matrix is full rank when: (a) at least one degree of rotational freedom is excited; (b) at least two linearly independent horizontal lines and one vertical line are observed. When these conditions are satisfied, the state matrix that contains the body attitude matrix, the gyro bias vector, relative velocity vector, the dual part of landmark and the magnetic variation superimposed to the magnetic reference vector are observable. The indoor experimental results have demonstrated the correctness of observability conditions.

Appendix D
Step (1) Based on Lemma 1, the rank of A is 9. We diagonalize it with the Gaussian elimination: (D1) Then we can easily eliminate all other elements of the first columns: