Chapter 3: Inertial Navigation Systems and Sensor Fusion
3.4 Improving Orientation Estimates
A simple method to obtain an improved orientation estimate is the FQA (factored quaternion algorithm) presented in [25]. This method uses the accelerometer sensor to obtain roll and pitch angles directly from accelerometer measurements, assuming that the IMU is stationary (i.e., only the gravitational force is present in the accelerometer measurements). The magnetometer measurements are used in the same way as in a tilt-compensated e- compass [26], from which the yaw angle is extracted. One advantage of this method is that magnetometer measurements are only used in the estimation of the yaw angle. This implies that magnetic disturbances do not influence the projection of gravity, which is a critical part for reducing error growth in INS. The main issue associated with FQA or the tilt-compensated e-compass method is that the stationary condition of the accelerometer measurements is seldom the use case in the context of human motion.
Information from other sensors in the IMU can be used to compensate the gyroscope bias drift by employing the sensor fusion techniques described in section 3.3. One common approach to improve orientation estimates is to apply a minimization technique such as the Gauss-Newton algorithm (GNA) [5], [27] to estimate the error of the orientation using a cost function that relates the previous orientation estimate and the current sensor measurements (accelerometer measurements are compared to gravity and magnetometer measurements are compared to the current reference heading). The iterative GNA is presented in equation (3.21).
𝑥𝑛+1 = 𝑥𝑛− (𝐽𝑟𝑇𝐽𝑟)−1𝐽𝑟T𝑟(𝑥𝑛) (3.21)
where x is the orientation error estimate, J is the Jacobian matrix and r the cost function. This error estimate is combined with the gyroscope measurements using a CF. The error-filtered orientation rate is integrated and normalized in order to obtain the final orientation. An identical approach using an EKF instead of a CF is found in [28]. The cut-off frequency of the CF is a parameter that can be controlled, which in [27] is adaptively modified according to the convergence rate of the GNA and the divergence rate of the gyroscope.
One disadvantage of the GNA method is the sensitivity to biased measurements, which causes convergence issues. To counter this, authors in [27] implement a compensation method based on the magnitude of the acceleration and magnetic measurements. When the magnitude of these vectors exceeds a predefined threshold, they are replaced by estimates of accelerometer and magnetometer measurements obtained using the previous orientation information. Another disadvantage is the requirement to compute a matrix inversion.
The gradient descent algorithm (GDA) [10] is a strategy similar to the GNA, for which the iterative equation is presented in (3.22).
𝑥𝑛+1 = 𝑥𝑛− 𝜇𝐽𝑟T𝑟(𝑥
𝑛) (3.22)
where μ is known as the gain or learning rate. The advantage is that GDA does not require a matrix inversion such as in GNA, allowing for faster update rates. Performance results presented have the same level of accuracy of a KF approach with much lower computational loads.
Solutions like GNA or GDA are iterative minimization solutions, which in the cases presented are reduced to a single iteration. This is considered acceptable when the convergence rate is equal or greater than the rate of change of the orientation. When the sensor measurements are biased (e.g., under magnetic disturbance or external accelerations), GNA and GDA will be subject to slow convergence.
An EKF is proposed in [24], where it is assumed that the gyroscope bias is negligible. The states modelled are a quaternion representing orientation and the magnetometer bias to account for local variations of the magnetic field. The variance parameters of the accelerometer and magnetometer are modified according to thresholds, due to the known sensitivity of the EKF to biased measurements. These thresholds protect against external accelerations and magnetic disturbances by diminishing the effect of accelerometer and magnetometer sensors in the final estimation. In extreme conditions, the filter estimate will be affected only by the gyroscope measurement.
One option available in the KF framework is to reduce the number of parameters to be estimated by the filter. If the errors of the state are modelled instead of the states themselves, the dimension of the state parameter can be reduced, effectively improving the computation of the filter equations. The states of interest need to be updated outside the KF and take into account the estimated error. This configuration is known as indirect KF (IKF) and one such
configuration is proposed in [29], where the orientation error, accelerometer and gyroscope bias are the states estimated. The magnetometer sensor only contributes to the yaw angle and an adaptive algorithm which estimates and corrects for bias in the accelerometer measurements, is also included to account for external accelerations.
The author in [30] examined the performance of KFs versus CFs under simple motion and walking motion scenarios. The CF performed better than the KF both in terms of orientation error (with CF estimates between 60% to 70% better than KF estimates) and time taken to compute an estimate (with the time to compute an update of 280 μs and 1.3 ms for the CF and KF respectively). It is also noted that the microcontroller used in [30] is able to perform single-cycle multiplications. A WSN based on the CC2530 system-on-chip (SoC) [31], such as the one used in this work, uses an 8-bit 8051 microcontroller, which does not possess this functionality. Under these circumstances, multiplication operations have a significant impact in the algorithm efficiency, especially in the case of the KF where a matrix inversion is computed. The work in [32] also compared performances of orientation estimation using EKF versus orientation estimation using CF under typical scenarios of human motion, where it is shown that there is not a significant difference among the errors found for each solution.
The CF and KF solve the problem of drift from the gyroscopes by estimating bias errors and/or by combining accelerometers and magnetometers. The KF requires a model of the dynamics involved and provides not only an estimate but also the uncertainty of the estimate, feature which is absent when using CFs. On the other hand, the CF solution is easier to implement since it does not depend on dynamic models, requiring only that the inputs are spectral complements of each other.