0% found this document useful (0 votes)
9 views57 pages

40 Year Sensorf

Uploaded by

Minh Quang Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views57 pages

40 Year Sensorf

Uploaded by

Minh Quang Vũ
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 57

Journal Pre-proof

40 Years of Sensor Fusion for Orientation Tracking via Magnetic and


Inertial Measurement Units: Methods, Lessons Learned, and Future
Challenges

Milad Nazarahari , Hossein Rouhani

PII: S1566-2535(20)30399-7
DOI: https://doi.org/10.1016/j.inffus.2020.10.018
Reference: INFFUS 1316

To appear in: Information Fusion

Received date: 5 August 2020


Revised date: 25 September 2020
Accepted date: 29 October 2020

Please cite this article as: Milad Nazarahari , Hossein Rouhani , 40 Years of Sensor Fusion for Orien-
tation Tracking via Magnetic and Inertial Measurement Units: Methods, Lessons Learned, and Future
Challenges, Information Fusion (2020), doi: https://doi.org/10.1016/j.inffus.2020.10.018

This is a PDF file of an article that has undergone enhancements after acceptance, such as the addition
of a cover page and metadata, and formatting for readability, but it is not yet the definitive version of
record. This version will undergo additional copyediting, typesetting and review before it is published
in its final form, but we are providing this version to give early visibility of the article. Please note that,
during the production process, errors may be discovered which could affect the content, and all legal
disclaimers that apply to the journal pertain.

© 2020 Published by Elsevier B.V.


Highlights

 Surveyed sensor fusion algorithms for orientation tracking with MIMUs

 Discussed fundamental algorithms like strap-down integration and vector observation

 Discussed advanced algorithms like complementary filter and Kalman filter

 Discussed modifications like gain tuning and imperfect measurement rejection

 Provided lessons learned from survey and future research challenges in the field

1
40 Years of Sensor Fusion for Orientation Tracking via
Magnetic and Inertial Measurement Units: Methods, Lessons
Learned, and Future Challenges

Milad Nazaraharia, Hossein Rouhania

a
Department of Mechanical Engineering, University of Alberta, Donadeo Innovation Centre for
Engineering, Edmonton, Alberta, T6G 1H9, Canada ([email protected],
[email protected]).

Introduction to Conclusions: 8107 words (Abstract: 266 words)


Number of figures and tables: 3 Figures, 3 Tables

Corresponding Author:
Hossein Rouhani, Ph.D., P.Eng.
Department of Mechanical Engineering, University of Alberta
10-368 Donadeo Innovation Centre for Engineering
9211-116 Street NW, Edmonton, AB T6G 1H9, Canada
Tel.: 001-780-492-8344
Email: [email protected]

Abstract

Technological developments over the past two decades have resulted in the development of more

accurate and lightweight low-cost magnetic and inertial measurement units (MIMUs). These

2
developments have allowed the extensive application of MIMUs in various fields, specifically

tracking the 3D orientation of a rigid body. Despite recent technological improvements,

measurements from a tri-axial gyroscope, accelerometer, and/or magnetometer inside the MIMU

are characterized by uncertainties. Numerous studies have been conducted to address these

uncertainties and develop sensor fusion algorithms (SFAs) to estimate the 3D orientation

accurately and robustly. This paper contributes to these efforts by providing a survey of the state-

of-the-art SFAs for orientation estimation. We surveyed +250 publications, categorized the SFAs

with various structures, identified the modifications proposed to improve their performance, and

discussed the strengths and weaknesses of these approaches. We found that, while early SFAs

were mostly a vector observation algorithm or an extended Kalman filter, to improve the

computational efficiency, more recent works have developed SFAs with a complementary filter

or complementary Kalman filter structure. At the same time, to improve the performance of the

SFAs, several research teams have proposed various modifications to the basic structure of these

filters, such as adaptive gain tuning or imperfect measurement rejection. We also provided an

outlook on the lessons learned as well as the main challenges related to SFAs and discussed the

practical steps toward developing an effective SFA. We have identified the need for

benchmarking studies as the main challenge at the moment. This paper is among the first surveys

which provide such breadth of coverage across different SFAs for tracking orientation with

MIMUs.

Keywords: Sensor fusion algorithm; Attitude and heading reference system; Linear/extended

Kalman filter; Complementary Filter; Adaptive gain tuning; Magnetic and Inertial Measurement

Unit.

3
Nomenclature

AHRS: Attitude and heading reference system.

DCM: Direction cosine matrix.

FQA: Factored quaternion algorithm.

GDA: Gradient descent algorithm.

GNA: Gauss-Newton algorithm.

L/E/CKF: Linear/extended/complementary Kalman filter.

L/NCF: Linear/non-linear complementary filter.

MIMU: Magnetic and inertial measurement unit.

PSO: Particle swarm optimization.

QUEST: QUaternion ESTimator.

SDI: Numerical strap-down integration.

SFA: Sensor fusion algorithm.

TRIAD: TRi-axial attitude determination.

VO: Vector observation.

w.r.t.: With respect to.

1 Introduction

Magnetic and inertial measurement units (MIMUs), comprised of a tri-axial accelerometer,

gyroscope, and magnetometer, are used to track the displacement and orientation of a rigid body

in real-time. Because of their lightweight, small size, and long battery life [1,2], MIMUs have

4
been used extensively as an ideal tool in aerospace, unmanned vehicle navigation, robotics, and

human motion tracking. However, in almost all applications, whether the 3D joint angle

measurement in an ambulatory human motion tracking system [3] or displacement estimation in

a dead-reckoning system [4], the MIMU orientation must be first calculated using a sensor fusion

algorithm (SFA), also known as attitude and heading reference system (AHRS).

Raw MIMU data can be used to estimate orientation under specific conditions. In

particular, the MIMU’s accelerometer measures the gravitational acceleration and can be used to

compute the attitude. Also, in a magnetically neutral environment, the magnetometer measures

the geomagnetic field, which can be used to estimate the yaw angle. Furthermore, the gyroscope

measures the angular velocity (rate of change of orientation), which can be used to calculate the

change in orientation using numerical strap-down integration (SDI).

However, using the accelerometer, gyroscope, and magnetometer alone may yield poor

estimations in terms of accuracy or robustness due to various sources of error [5]. For example,

accelerometers are not suitable for orientation estimation during dynamic tasks as they measure

the external non-gravitational acceleration (due to motion) in addition to the gravitational

acceleration. Also, the geomagnetic field could be distorted by the presence of ferrous materials,

specifically during indoor motion tracking, which makes magnetometer-based estimations

inaccurate. Moreover, because the cumulative error of the SDI increases unbounded over time,

MEMS gyroscopes are not suitable for orientation estimation during long-duration tasks. Thus,

various SFAs have been proposed in the literature to achieve an accurate and reliable estimation.

1.1 Orientation parametrization

Rigid body orientation can be expressed via one of the following parametrizations: (i) Euler

angles, i.e., roll and pitch (also known as the attitude) and yaw (also known as the heading); (ii)

5
quaternions; or (iii) direction cosine matrix (DCM) [6,7]. Euler angles can be used when an

intuitive physical meaning of the estimated orientation is needed. For example, in controlling an

unmanned vehicle [8], measuring human joint angles, or tracking in an augmented reality device

[9]. However, under certain configurations, there are singularities associated with this

parametrization that make Euler angles unsuitable for most control or tracking applications.

Quaternion or DCM parametrization could be used to express/calculate the orientation

without singularity in a computationally-efficient manner [10,11]. However, the unconstrained

estimation of these parametrizations would lead to an ambiguous and meaningless

representation. In particular, a quaternion parametrization of orientation is an element of the

quaternion group, i.e., homeomorphic to rotation group SO(3), with S3 as its domain [12].

Therefore, to reduce its degrees of freedom from four to three, consistent with the dimension of

the SO(3), a constrained quaternion estimation is required, such as enforcing the unit norm

constraint after estimation. See more on constrained estimation in [12,13]. A similar hard

constraint must be used when using DCM parametrization [14,15].

1.2 Previous surveys on SFAs

Previous surveys have reviewed the literature related to MIMUs with a focus on applications

[16–21], technical developments [4,17,22,23], and/or experimental comparison. However, in line

with the aim of the present paper, in this section, we review the previous surveys of SFAs for

MIMU orientation estimation only. Table I summarizes the surveys with a focus on the

experimental comparison. Table I identifies the filter with the best performance in each survey

and provides the details of the SFAs tested, parameter tuning strategies, and experimental

validations.

6
Cavallo et al. [24] compared the estimation accuracy of three SFAs, their proposed

Extended Kalman Filter (EKF) and SFAs in [25,26], using a MIMU mounted on KUKA Youbot

robot while the accelerometer and magnetometer were calibrated using a 3D-ellipsoid fitting

method [27]. The robot measured the reference (true) orientation during slow (18 deg/s) and fast

(45 deg/s) trajectory tracking motions. Filippeschi et al. [10] performed an experimental study to

compare five SFAs [28–32] for wrist position tracking. They used orientation and length of the

trunk, upper arm and forearm were used to estimate the wrist position. However, the accuracy of

the SFAs was not directly comparable for the following reasons: (i) one method required visual

reference for position tracking; (ii) methods were different in terms of constraints of the

kinematic chain; and (iii) parameters of the methods were not selected systematically.

Young [33] compared the EKF proposed in [29] with different Complementary Filters

(CFs) presented in [34–36]. After calibrating sensors for offset and scale errors, the accuracy of

the SFAs was evaluated during gentle random motions and over treadmill walking at a normal

pace. They concluded that in general, CFs with lower computational complexity could

outperform KFs for human motion tracking, as CFs have no assumption about the process

dynamics. Also, they showed that because of the lower computational complexity and minimal

loss of accuracy, the use of non-optimal vector observation (VO) algorithms, such as TRi-axial

Attitude Determination (TRIAD), is preferred compared to optimal ones, such as the QUaternion

ESTimator (QUEST). More recently, Sabitini [37] provided a general survey of SFAs, including

algorithms based on VOs and KFs, with great emphasis on practical aspects such as SFA gain

selection.

Fan et al. [38] performed a systematic review of standard strategies for reducing the effect

of magnetic disturbance on the accuracy and robustness of SFAs. They also compared the

7
accuracy of five SFAs, [25,39–41], and concluded that a “good” filter must have the following

three features: (i) gyroscope drift compensation; (ii) decoupling attitude from yaw estimation;

and (iii) an adaptive strategy to reject magnetic distortions. Similarly, Ligorio and Sabatini [39]

reviewed the main magnetic disturbance compensation strategies used in KFs and showed that

model-based approaches (estimating the magnetic disturbance at each iteration using a stochastic

model) had the best performance.

Bergamini et al. [42] used routine manual tasks such as teeth/hair brushing and walking

along a ∞-shaped pathway to compare the accuracy of SDI with the CF proposed by Madgwick

et al. [25] and the KF proposed by Sabatini [37]. This study showed that the tested CF and KF

were significantly more accurate than SDI for yaw estimation and that the two SFAs achieved

similar accuracy. Using the optimal SFAs gains, Caruso et al. [43] analyzed the performance of

four SFAs ([25,37,44], and Xesne proprietary KF) and concluded that the performance of SFAs

depends on the experimental conditions, such as the rate of rotations during experiments. Michel

et al. [45] compared the accuracy and robustness of six SFAs ([25,26,46–49]) using smartphone

data during a variety of daily routine activities. They showed that the overall performance of the

nonlinear CF proposed by Martin and Salaun [49] was best, but SFAs with a simpler structure

and lower computational complexity, such as [25] and [26], could be highly beneficial for saving

the battery life of the smartphone. See [50] for a more detailed study on the energy

characterization of CF and KF.

However, the mentioned works only surveyed a limited number of SFAs, i.e., in total, 30

filters were tested in the abovementioned works, and only 4 of them were used in more than two

studies. Therefore, in this paper, we reviewed a wide range of SFAs for orientation tracking with

MIMUs, including VOs, CFs, Linear KFs (LKFs), EKFs, and Complementary KFs (CKFs). We

8
did not, however, review fusing strategies such as the Unscented KF, Cubature KF, and Particle

filter, or the use of other technologies for orientation tracking, whether alone or together with

MIMUs. In summary, this review sought to answer the following question: how can MIMU

signals be fused for orientation tracking? To answer this question, we provided a survey on state-

of-the-art strategies, including SFAs based on VO, CF, and LKF/EKF/CKF families.

2 Literature survey

2.1 MIMU model

In this section, we present the MIMU model commonly used in developing SFAs [51,52].

Gyroscope readout, 𝑦𝐺 , can be modelled as the summation of the true angular velocity, 𝜔, the

bias 𝑏𝐺 , and a white noise term, 𝓋𝐺 , as in (1a),

𝑦𝐺,𝑘 = 𝐾𝐺 𝜔𝑘 + 𝑏𝐺,𝑘 + 𝓋𝐺,𝑘 (1a)

𝑏𝐺,𝑘 = 𝑏𝐺,𝑘−1 + 𝓌𝑏,𝑘 (1b)

where 𝐾𝐺 is the scale factor matrix, and (1b) models 𝑏𝐺 as a first-order Markov process driven

by white Gaussian noise, 𝓌𝑏 . Accelerometer readout, 𝑦𝐴 , can be modelled as the summation of

the external non-gravitational acceleration, 𝒶, the gravitational acceleration, 𝑔, the bias 𝑏𝐴 , and a

white noise term, 𝓋𝐴 , as in (2a),

𝑦𝐴,𝑘 = 𝐾𝐴 [𝒶𝑘 + 𝑔𝑘 ] + 𝑏𝐴,𝑘 + 𝓋𝐴,𝑘 (2a)

𝒶𝑘 = 𝑐𝑎 𝒶𝑘−1 + 𝓌𝒶,𝑘 (2b)

where 𝐾𝐴 is the scale factor matrix, and (1b) models 𝒶 as a first-order low-pass filtered (0 ≤

𝑐𝒶 < 1 is the cut-off frequency of the filter) white Gaussian noise process. The bias term 𝑏𝐴 was

commonly obtained through a calibration procedure [27,53] or estimated during orientation

tracking as part of the KF state vector [54,55]. Finally, the magnetometer readout, 𝑦𝑀 , can be

9
modelled as the summation of the true geomagnetic field, 𝑚, magnetic distortion, 𝒹, and a white

noise term, 𝓋𝑀 , as in (3a),

𝑦𝑀,𝑘 = 𝐾𝑀 𝑚𝑘 + 𝒹𝑘 + 𝓋𝑀,𝑘 (3a)

𝒹𝑘 = 𝑐𝑑 𝒹𝑘−1 + 𝓌𝒹,𝑘 (3b)

where 𝐾𝑀 is the scale factor matrix, and (3b) models 𝒹 as a first-order low-pass filtered (0 ≤

𝑐𝒹 < 1 is the cut-off frequency of the filter) white Gaussian noise process.

2.2 Strap-down integration (SDI)

While SDI is not an SFA on its own, we dedicate a separate section to it as it is the core of

almost all CFs and KFs. The numerical SDI of gyroscope readout, 𝑦𝐺 , can be used to update the

orientation with respect to (w.r.t.) a known orientation as in (4a) [56],

𝑞𝑘+1 = exp(Ω(𝑦𝐺,𝑘 )𝑇𝑠 ) 𝑞𝑘


{ (4a)
𝑞0 = 𝑞(0)

0 −𝑦𝐺,𝑥 −𝑦𝐺,𝑦 −𝑦𝐺,𝑧


1 𝑦𝐺,𝑥 0 𝑦𝐺,𝑧 −𝑦𝐺,𝑦
Ω(𝑦𝐺 ) = [𝑦 𝑦𝐺,𝑥 ] (4b)
2 𝐺,𝑦 −𝑦𝐺,𝑧 0
𝑦𝐺,𝑧 𝑦𝐺,𝑦 −𝑦𝐺,𝑥 0

where 𝑞 is the quaternion parametrization of orientation, Ω(𝑦𝐺 ) is a 4×4 skew-symmetric matrix

shown in (4b), exp(∙) is the matrix exponential operator, which can be estimated using the

Taylor series or Padé approximation, 𝑇𝑠 is the sampling period of the MIMU, and 𝑞(0) is the

known initial orientation. Lee and Choi [57] showed that when using the Taylor series to

calculate exp(∙), the approximation order highly depends on (i) the sampling rate of the MIMU

and (ii) the magnitude of the 𝑦𝐺 . Equation (4a) can also be extended to account for the relative

angular velocity of (i) the Earth’s frame w.r.t. the inertial frame and (ii) the navigation frame

w.r.t. the Earth’s frame [58].

10
Nevertheless, SDI has two disadvantages: (i) the initial orientation must be known; and (ii)

the gyroscope bias, 𝑏𝐺 , results in an increasing cumulative error in the estimated orientation due

to the numerical integration (see [59] for comparison of the drifts obtained from the SDI and a

KF). To address the former, 𝑦𝐴 and 𝑦𝑀 , along with a VO algorithm (described in Section 2.3),

can be used to calculate 𝑞(0). To address the latter, various SFAs have been developed to use 𝑦𝐴

and/or 𝑦𝑀 to correct the SDI drift over time. Also, using SFAs, 𝑏𝐺 can be estimated at each time

instant based on a stochastic model, as in (1b), to correct the 𝑦𝐺 before the SDI. However, one

must note that 𝑏𝐺 is a function of environmental conditions, such as ambient temperature, and

extra caution must be exercised when environmental conditions change drastically during data

acquisition [60].

2.3 Vector observation (VO) algorithms

VO algorithms, commonly used in spacecraft AHRSs, provide an estimate of the rigid body

absolute orientation w.r.t. to a reference frame. To this end, two or more vectors measured in the

local rigid body frame, as well as their counterpart in the desired reference frame, are required.

In this setting, almost all VO algorithms are based on minimizing the cost function
1
𝒥(𝐴) = ∑𝑖 𝑎𝑖 |𝑏𝑖 − 𝐴𝑟𝑖 |2 , known as the Wahba’s problem [61], where 𝐴 is the DCM
2

representing the rigid body orientation (to be estimated), 𝑏𝑖 is a unit vector measured in local

rigid body frame, 𝑟𝑖 is the corresponding unit vector in the reference frame, and 𝑎𝑖 is the weight

associated with each VO. Markley and Mortari [62] provided an overview of the most popular

algorithms for solving the Wahba’s problem and compared their accuracy and speed.

For orientation tracking with MIMUs, VOs (𝑏𝑖 ) are the normalized 𝑦𝐴 and 𝑦𝑀 , and their

𝐺
reference counterparts (𝑟𝑖 ) are the gravitational acceleration, 𝑔, and the Earth’s geomagnetic

11
field vector, 𝐺𝑚, respectively, where 𝐺 represents the Earth’s reference frame. In this setting, the

TRIAD algorithm calculates the DCM 𝐴 using (5) [34,63],

𝑤1 = 𝑏1 ⁄|𝑏1 |, 𝑤2 = (𝑤1 × 𝑏2 )⁄|𝑤1 × 𝑏2 |, 𝑤3 = 𝑤1 × 𝑤2 (5a)

𝑣1 = 𝑟1⁄|𝑟1 |, 𝑣2 = (𝑣1 × 𝑟2 )⁄|𝑣1 × 𝑟2 |, 𝑣3 = 𝑣1 × 𝑣2 (5b)

𝐴 = 𝑤1 𝑣1𝑇 + 𝑤2 𝑣2𝑇 + 𝑤3 𝑣3𝑇 (5c)

In TRIAD, attitude is calculated using 𝐺𝑔 and is immune to magnetic disturbance. In contrast to

TRIAD, QUEST [64] can accommodate more than two VOs by selecting proper weights 𝑎𝑖 for

sensors with different accuracies. However, in QUEST, magnetic disturbance can affect the

attitude estimation as well as yaw angle.

Along with TRIAD, the Factored Quaternion Algorithm (FQA) [36] was designed to

decouple 𝑦𝐴 and 𝑦𝑀 and cancel the effect of magnetic disturbance on attitude calculation.

TRIAD and FQA produce similar solutions to the Wahba’s problem, with the exception that the

former produces a DCM and the latter produces a quaternion [36]. Other variants of VO

algorithms include: Davenport 𝑞-method [65]; fast optimal attitude matrix [66]; singular value

decomposition-based method [67]; filter QUEST [68]; recursive QUEST [69]; fast linear

quaternion attitude estimator [70]; recursive linear continuous quaternion attitude estimator [71];

quaternion-based iterated least-square [72]; and algebraic quaternion algorithm [73,74]. The

main advantage of the VO algorithms is that they can estimate the absolute orientation. However,

as the VOs (𝑦𝐴 and 𝑦𝑀 ) could be corrupted by 𝒶 and 𝒹, these algorithms are not suitable for

indoor orientation tracking during highly dynamic tasks.

2.4 Complementary Filters

12
2.4.1. Foundations

For an accurate estimate of orientation, the accelerometer and magnetometer should be used

during static conditions (low-frequency), while the gyroscope should be used during dynamic

conditions (high-frequency). To do this, the CF structure includes a low-pass filter ℒ(𝑠) to

remove the high-frequency estimations obtained by the accelerometer and magnetometer and a

high-pass filter ℋ(𝑠) to remove the low-frequency estimations obtained by the gyroscope, as

shown in Fig. 1(a). Commonly, the two filters’ structures have been selected such that ℒ(𝑠) =

𝒞(𝑠)
and ℒ(𝑠) + ℋ(𝑠) = 1, where 𝒞(𝑠) is a transfer function.
𝒞(𝑠)+𝑠

The simplest choice for ℒ(𝑠) and ℋ(𝑠) is a first-order low-pass and high-pass filter,

respectively, with a cut-off frequency of 𝑘𝑃 . To achieve this, we can set 𝒞(𝑠) = 𝑘𝑃 in ℒ(𝑠),

which results in the basic CF structure shown in Fig. 1(b) with solid lines in the time domain. Fig

1(c) shows the frequency response of the basic CF for three different values of 𝑘𝑃 . The optimal

value of 𝑘𝑃 depends on the dynamics of motion. This is, for relatively slow motions, a larger 𝑘𝑃

is preferred while for high dynamics, a smaller 𝑘𝑃 should be chosen [75]. As shown in Fig. 1(c),

the slope of the frequency response plot of the low- and high-pass filters is not steep, and thus,

the filter output contains components of both filters. To address this issue, and to achieve steeper

slopes with frequency responses in Fig. 1(d), we can add an integrator with gain 𝑘𝐼 to the basic

𝑘
CF structure, i.e., 𝒞(𝑠) = 𝑘𝑃 + 𝑠𝐼, as shown with the dashed line in Fig. 1(b).

2.4.2. Literature survey

As the SDI was used in almost all CFs developed for MIMU orientation tracking, this section is

focused on various approaches for (i) estimating the orientation via accelerometer and

magnetometer and (ii) low and high-pass filters’ structure. See Table II for a comparison of CFs

13
in the literature. Bachmann et al. [76] used the Gauss-Newton Algorithm (GNA) to modify the

SDI output based on a corrective term that minimized the error between the measured 𝑦𝐴 and 𝑦𝑀

and the projection of the 𝐺𝑔 and 𝐺𝑚 in MIMU’s sensor frame, SF, as in (6),

𝑞𝐴,𝑀 ( 𝑆𝐹𝐺𝑞̂𝑘 ) = [𝑦𝐴 , 𝑦𝑀 ] − [ 𝑆𝐹𝐺𝑞̂𝑘∗ ⊗ 𝐺𝑔 ⊗ 𝑆𝐹𝐺𝑞̂𝑘 , 𝑆𝐹𝐺𝑞̂𝑘∗ ⊗ 𝐺𝑚 ⊗ 𝑆𝐹𝐺𝑞̂𝑘 ] (6)

𝑆𝐹
where 𝐺𝑞̂ is the orientation of the MIMU sensor frame w.r.t. the Earth’s reference frame, ∗ and

⊗ are the quaternion conjugate and multiplication operations, respectively. Close variants of the

same approach have been used in other works, including fast quaternion-based orientation

optimizer [77]; Gradient Descent Algorithm (GDA)-based CF [25]; Levenberg-Marquardt

algorithm-based CF [48,78,79]; GNA-based adaptive-gain CF [80]; geometrically-intuitive CF

[81]; adaptive quaternion-based CF [82]; generalized linear quaternion-based CF [83]; and others

[84–90].

The CF structure shown in Fig. 1(b) has been extensively revisited in the literature

[26,75,91–95]. For instance, Calusdian et al. [75] used the proportional gain 𝑘𝑃 to correct the

SDI output using the weighted error between the estimated orientations by CF at the previous

time instant and the FQA. In CF proposed by Lai et al. [91], first, attitude was estimated using

𝑦𝐴 as in (7),

𝑟𝑜𝑙𝑙𝑎𝑐𝑐 = tan−1 (𝑦𝐴,𝑦 ⁄𝑦𝐴,𝑧 ) , 𝑝𝑖𝑡𝑐ℎ𝑎𝑐𝑐 = tan−1 (𝑦𝐴,𝑥 ⁄√𝑦𝐴,𝑦 2 + 𝑦𝐴,𝑧 2 ) (7)

then, the proportional-integral CF in Fig. 1(b) was employed to correct the SDI output. Similarly,

Liu and Zhu [111] proposed a CF based on the proportional-integral and multi-sample rotation

vector concepts to eliminate the cumulative and noncommutativity errors of SDI in high

dynamics.

Mahony et al. [26] formulated the CF as a deterministic observer posed on the special

orthogonal group SO(3). The proposed explicit CF does not require an algebraic reconstruction

14
of the attitude, as in VO algorithms, and due to its low computational complexity, is ideal for

embedded hardware platforms. Also, the explicit CF can work with only one VO (𝑦𝐴 or 𝑦𝑀 ).

Similarly, Khosravian and Namvar [96] presented a nonlinear observer with asymptotic

convergence based on a single VO (𝑦𝐴 or 𝑦𝑀 ). In general, a single VO can be used along with a

thresholding scheme as in [88,93] (also known as vector selection [51,77]), or with fuzzy logic

[97,98], to reject imperfect measurements, such as rejecting 𝑦𝐴 during high dynamic tasks or 𝑦𝑀

during magnetic disturbance.

The stability properties of the explicit CF proposed in [26] were proven when the

reference vectors are (i) stationary or (ii) time-varying but the 𝑦𝐺 is bias-free. Later, Grip et al.

[99] proposed an improved explicit CF for cases when the reference vectors are time-varying and

𝑦𝐺 is corrupted by bias. Also, Jensen [100] proposed a generalized version of the explicit CF by

replacing the constant scalar gains by time-varying matrix gains. Because the gain tuning

procedure for the explicit CF was based on trial-and-error, to provide a Kalman-like gain tuning

capability for the filter, De Silva et al. [101] proposed the right-invariant formulation for the

explicit CF with an intuitive gain tuning procedure based on the system’s noise parameters.

Martin and Salaun [49] and Hua et al. [102] developed nonlinear observers by decoupling

the yaw angle estimation from attitude estimation to minimize the effect of 𝒹 on attitude. Fan et

al. [103] and Wu et al. [104] proposed quaternion-based two-step CFs (step 1: estimate attitude

by fusing 𝑦𝐺 and 𝑦𝐴 , step 2: estimate yaw using 𝑦𝑀 ). This allowed them to make attitude

estimations immune to 𝒹 and enable the filter to use two separate gains to minimize the effect of

𝒶 and 𝒹 in steps 1 and 2, respectively. Valenti et al. [73] introduced a VO algorithm for solving

the Wahba’s problem without singularity and, accordingly, developed a quaternion-based CF

with attitude estimation immune to 𝒹. Marantos et al. [105] developed a CF based on a new

15
analytical solution for Wahba’s problem complemented with a gyroscope propagation and an

adaptive gain regulation scheme to provide smooth orientation tracking in high dynamics. Yang

et al. [106] formulated a linearly discrete dynamic model to relate the attitude to 𝑦𝐴 and then

developed a computationally efficient adaptive gain CF to combine the estimated attitude with

SDI output.

Chang et al. [107] first developed a smooth sliding-mode observer for attitude estimation

using 𝑦𝐴 , and then improved the observer estimations by including measurement noise and biases

[108]. El Hadri and Benallegue [109] proposed a nonlinear sliding-mode CF to achieve robust

orientation tracking and 𝑏𝐺 estimation under parametric uncertainties and modelling errors.

Vasconcelos et al. [110] introduced a CF using Euler angle parametrization (stable for non-

singular configurations) and 𝑏𝐺 compensation and tuned the filter gains in the frequency domain

to account for unmodeled disturbances found in the experimental setup. By estimating a virtual

angular velocity for the rigid body using 𝑦𝐴 and 𝑦𝑀 , Tayebi et al. [111] developed a quaternion-

based CF to track the orientation as well as an asymptotic estimate of 𝑏𝐺 . Sheng and Zhang [112]

proposed the application of a neural network-based proportional-integral-derivative controller for

calculation of 𝑏𝐺 based on the error between estimated orientation by SDI and a VO algorithm.

In the nonlinear CF introduced by Wu et al. [113], the error between 𝑦𝐴 and the projection of 𝐺𝑔

in MIMU sensor frame was used to estimate the 𝑏𝐺 and correct the angular velocity before SDI.

However, this method does not provide an estimate of 𝑏𝐺 when the MIMU is motionless or 𝑦𝐴 is

parallel to 𝐺𝑔.

16
2.4.3. Modified Complementary Filters

Because the performance of a CF highly depends on its gains, Alves Neto et al. [114] proposed a

CF using Euler angle parametrization and adaptive gains with values proportional to exp(-| 𝐺𝑔 -

||𝑦𝐴 |||). Kottath et al. [115] presented the application of an ensemble of linear CFs with different

gains to minimize the effect of gain value on the estimated orientation. In the proposed

ensemble, the weighting factor associated with each CF was adaptively calculated based on the

difference between the CF’s and the ensemble’s estimates. To adaptively compute the CF gains

based on the error between the orientation obtained from 𝑦𝐴 and 𝑦𝑀 and CF output, Poddar and

Narkhede [116] developed a non-linear CF aided with a Particle Swarm Optimization (PSO) gain

tuning scheme. It should be noted that the application of an adaptive gain tuning scheme or

thresholding method for rejecting 𝒶 and 𝒹 cannot guarantee an accurate and robust estimation.

For example, if gain tuning is used for an extended period of time to cancel the estimation errors

from 𝑦𝐴 during high dynamics, drift in attitude estimations will eventually occur because of 𝑏𝐺 .

2.5 Kalman Filters

2.5.1. Foundations

Suppose that we describe the orientation tracking problem using linear or nonlinear discrete-time

systems in (8a) and (8b), respectively,

𝓍𝑘+1 = ℱ𝑘 𝓍𝑘 + ℬ𝑘 𝓊𝑘 + 𝓌𝑘
(8a)
𝓏𝑘+1 = ℋ𝑘+1 𝓍𝑘+1 + 𝓋𝑘+1

𝓍𝑘+1 = 𝒻𝑘 (𝓍𝑘 , 𝓊𝑘 , 𝓌𝑘 )
(8b)
𝓏𝑘+1 = 𝒽𝑘+1 (𝓍𝑘+1 , 𝓋𝑘+1 )

where 𝓍, 𝓊, and 𝓏 are states of the system (commonly the MIMU orientation), input to the

system (commonly 𝑦𝐺 ), and sensor measurements (commonly 𝑦𝐴 and 𝑦𝑀 ), respectively; 𝓌 and

17
𝓋 are white Gaussian noise processes associated with system and measurement models with

covariances 𝒬 and ℛ, respectively; ℱ and 𝒻(∙) are the state transition matrix and equation,

respectively (also known as state propagation); and ℋ and 𝒽(∙) are the measurement prediction

matrix and equation, respectively. Now, suppose that we show the estimation error, i.e., the error

between the true state and the estimated state, of the linear system in (8a) by 𝓍̃ and our aim is to

find the estimator that minimizes the weighted 2-norm of the expected value of 𝓍̃, i.e.,

min 𝐸[𝓍̃ 𝑇 𝒯𝓍̃], where 𝒯 is a positive definite weighting matrix. Then:

 If 𝓌𝑘 and 𝓋𝑘 are uncorrelated zero-mean white Gaussian processes, KF is the solution.

 If 𝓌𝑘 and 𝓋𝑘 are uncorrelated zero-mean white processes, KF is the best linear solution.

 For other cases, such as correlated/coloured noise or nonlinear system in (8b), the KF can

be modified to answer the above problem [117].

In other words, the aim of using a KF is to estimate the state vector, 𝓍, based on our knowledge

of the system model and the availability of the noisy input, 𝓊, and measurements, 𝓏. To this end,

we can use LKF and EKF, as shown in Fig. 2(a) and (b), to estimate the orientation using the

linear and nonlinear systems in (8a) and (8b), respectively [117].

For orientation tracking applications, the rigid body orientation is commonly considered to

be the state vector. Also, (i) the SDI is used to model the time-update equation, i.e., ℱ or 𝒻(∙);

and (ii) the difference between the measured and estimated acceleration and geomagnetic field is

used to model the measurement-update equation, i.e., ℋ or 𝒽(∙). More complex KFs have been

introduced by including 𝒶, 𝑏𝐺 , and/or 𝒹 in the state vector (see Table III for a comparison of

various KFs introduced in the literature).

18
2.5.2. Linear Kalman Filters (LKF)

Barshan and Durrant-Whyte [118] used 𝑦𝐺 to build an LKF for estimating the yaw angle of a

planar mobile robot. By inspection, they found an exponential model for 𝑏𝐺 during the warm-up

period and showed that the inclusion of this model reduced the estimation error by a factor of 5.

Qi and Moore [8] proposed an LKF for GPS/MIMU data fusion, where the GPS readouts were

taken as the LKF measurements, and MIMU readouts were taken as the additional information

required for state propagation. Yun et al. [119] and Yean et al. [120] introduced LKFs where

SDI was used to build the time-update equation and the error between 𝑦𝐴 /𝑦𝑀 and the projection

of 𝐺𝑔/ 𝐺𝑚 in MIMU sensor frame, as in (6), along with GNA and GDA were used to construct

the measurement-update equation. Whole and Gebhard [121] extended this approach by

switching between calculating the gradient of 𝑦𝐴 and 𝑦𝑀 under homogenous magnetic condition

to calculating the gradient of 𝑦𝐴 only under magnetic disturbance.

Lee and Park [122] used the optimal two-observation quaternion estimation method

proposed in [123] along with a vector selection technique to estimate the orientation from 𝑦𝐴 and

𝑦𝑀 under quasi-static motions in magnetically homogeneous conditions and correct the predicted

orientation by SDI in an LKF structure. Seo et al. [124] proposed the application of the FQA to

calculate the orientation using 𝑦𝐴 and 𝑦𝑀 and correct the SDI output in a standard LKF. They

also suggested a correction scheme using quaternion linear interpolation to combine the LKF and

FQA outputs during static conditions which would eliminate the effect of 𝑏𝐺 . Similarly, Valenti

et al. [74], Guo et al. [125], Feng et al. [40], and Wu et al. [71] developed new algebraic

quaternion estimators using 𝑦𝐴 and 𝑦𝑀 to formulate the measurement-update equation of a

standard LKF. Some of these algebraic quaternion estimators made the attitude estimation

19
immune to magnetic disturbance while providing higher computational efficiency compared to

FQA.

Kim and Golnaraghi [126] proposed a magnetometer-free LKF in which the angular

velocity used in SDI and its bias were modelled as first-order Markov processes and included in

the state vector. Also, the measurement-update equation was constructed using the error between
𝐺
(i) 𝑦𝐺 and the estimated angular velocity, 𝜔
̂, plus bias and (ii) 𝑦𝐴 and the projection of 𝑔 in

MIMU sensor frame. Also, Ligorio and Sabatini [127] developed a magnetometer-free LKF to
𝐺
estimate the attitude from the estimated gravitational acceleration, 𝑔̂. However, these

magnetometer-free LKFs limit the tracking to attitude only. Thus, other works [128–130]

proposed two separate LKFs, or dual filtering, for estimating gravitational acceleration and

geomagnetic field, to compute the 3D orientation while eliminating the errors in yaw estimation

from those of attitude estimation. For instance, Zhu and Zhou [28] and Zhu et al. [131] used an
𝐺 𝐺
LKF to estimate the gravitational acceleration, 𝑔̂, and geomagnetic filed, 𝑚
̂ , by propagating

the state vector using 𝑦𝐺 in time-update step and then comparing the state vector with 𝑦𝐴 and 𝑦𝑀

during measurement-update. Batista et al. [132,133] extended the previous LKF structure by

including 𝑏𝐺 in the state vector and correcting the 𝑦𝐺 accordingly during the time-update step.

Jurman et al. [134] constructed an adaptive LKF with Euler angles in its state vector. In

this LKF, the state vector was propagated in time using SDI and the Euler angles calculated from

𝑦𝐴 (using (7) for attitude) and 𝑦𝑀 (using tan−1 (𝑦𝑀,𝑦 ⁄𝑦𝑀,𝑥 ) for yaw) were used as the

measurements. Sun et al. [135] included 𝒶 with a first-order Markov process model in the state

vector of their proposed LKF and used the modified acceleration ( 𝐺𝑔 + estimated 𝒶) in (6) to

build the measurement-update equation. In another approach, instead of an explicit modeling of

𝒶, Makni et al. [136,137] proposed an adaptive LKF where the part of ℛ associated with the

20
accelerometer was estimated adaptively in real-time based on the LKFs accelerometer residual.

Also, the proposed LKF was structured with energy consumption considerations in mind such

that the gyroscope was turned-off and re-activated alternately while the 𝒬 was adaptively tuned

to compensate for the errors. Also, Rehbinder and Hu [138] proposed an SFA by switching

between two LKFs similar to the high gain observer previously proposed by the same authors in

[139], i.e., one for tracking under low accelerations and one for high accelerations.

2.5.3. Extended Kalman Filters (EKF)

Lefferts et al. [140] investigated the effect of constructing an EKF with different variations of

quaternions as the state vector and concluded that including all elements of the quaternions and

𝑏𝐺 could lead to singularity in calculating 𝒬. Koifman and Merhav [141] proposed the

application of an EKF for real-time attitude estimation using 𝑦𝐺 and 𝑦𝑀 , investigated the effect

of piecewise constant modelling of 𝑏𝐺 on estimation error, and then devised a method for

updating the corresponding elements of the covariance matrix when required. Vaganay and

Aldon [142] proposed an EKF in which the state vector included roll and pitch angles as well as

their drift rates, while the SDI was performed out of EKF and as a part of the measurement-

update.

Marins et al. [143] and Yun and Bachmann [29,144] investigated two approaches for

EKF design using different measurement vectors: (i) using MIMU readouts as the measurement;

and (ii) using the orientation (in quaternion) obtained by applying GNA or QUEST to 𝑦𝐴 and 𝑦𝑀 .

They showed that in the former, the measurement-update equations were highly nonlinear

functions of the state vector while in the latter, linear equations could be used to relate

measurements to the state vector, which made the EKF suitable for real-time applications due to

lower computational complexity. Also, Mazza et al. [145] introduced a similar magnetometer-

21
free EKF but included 𝑏𝐺 in the state vector. Sabatini [51] and Zhang et al. [146] included the

accelerometer and magnetometer bias terms in the state vector of their proposed EKF and used
𝐺 𝐺
their estimated values to correct the projection of 𝑔 and 𝑚 in MIMU sensor frame during

calculation of the predicted measurements.

Also, Sabatini [147] developed a similar EKF by substituting the bias terms in the

previous EKF by 𝑏𝐺 and 𝒹. Later, Sabatini [148] extended this work by introducing a variable-

state-dimension EKF. This EKF switched between an EKF where a first-order Markov process

was used to model 𝒹 and a higher-order EKF where a second-order Markov process modelled

the time-rate of change of the magnetic field. This approach could make the propagation of state

vector and calculation of the predicted measurements more realistic, particularly for long-

duration tracking under magnetic disturbances. Following the same concept, Xu et al. [149] used

a decision tree-based switching technique to develop an EKF capable of changing its

measurement model between three modes (high 𝑦𝐺 , high 𝑦𝐴 , moderate 𝑦𝐴 ) to achieve robust

tracking performance under different conditions.

2.5.4. Complementary Kalman Filters (CKF)

While it is common to use the KF structure to estimate the primary states directly, some works

proposed CKF structure, also known as the error-state KF [150,151], to estimate the errors in the

primary states [6,152]. By defining the state vector as an error process, the a priori estimate of

the state vector is always zero, and thus, the state transition, ℱ or 𝒻(∙), is zero, which simplifies

the standard KF formulation. For instance, Foxlin [153], Setoodeh et al. [154], and Gebre-

egziabher et al. [155] proposed CKFs by estimating the errors in gyroscope bias and Euler angles

to correct 𝑦𝐺 and the SDI output before and after the SDI, respectively. Gebre-egziabher et al.

[155] also used the quaternion errors to develop a similar CKF and showed that the quaternion

22
parametrization has advantages such as more efficient gain tuning process and computations as

compared to Euler angle parametrization. To achieve more robust estimates for indoor

orientation tracking, Zhang and Reindl [156] added a magnetic disturbance rejection step to the

CKF by Foxlin [153].

Roumeliotis et al. [150] introduced a smoothing filter, comprised of two CKFs, where the

first CKF propagated the attitude estimate forward and then updated it via the absolute

orientation obtained from the accelerometer and sun sensor, while the second CKF propagated

the most recent estimate back in time to lower the uncertainty of the estimation. To estimate the

errors in the attitude of a mobile robot moving on uneven terrains using 𝑦𝐴 and the SDI, Fuke

and Krotkov [157] proposed the application of a CKF. Luinge and Veltink [54] developed an

accelerometer-based CKF to estimate the error in gravitational acceleration and accelerometer

offset by deriving the relationship between 𝑦𝐴 and the state vector as well as calculating the

angular velocity based on the direction of the 𝑦𝐴 at each two successive time instants. Luinge and

Veltink [59] also used both accelerometer and gyroscope to estimate the orientation error and

gyroscope bias using the CKF structure. Later, the magnetometer was included in the CKF to

prevent drift in the yaw angle, even under magnetic disturbances [52].

Hall et al. [158] proposed a CKF where 𝑦𝐺 was used to propagate the error in orientation

while 𝑦𝐴 and GPS were used to perform the measurement-update. However, as the accelerometer

and GPS had different sampling rates and reference frames, the proposed CKF took advantage of

the incremental update concept [159], where the measurement-update could be performed

independently for each sensor. Kang et al. [160] developed a CKF to fuse a gyroscope and a

vision system where a fading factor, tuned using fuzzy logic, has been applied to the Kalman

gain, 𝒦, to tune the tracking performance of the filter in response to the quality of the vision

23
system data. Kannan [161] proposed a linear CKF where the compensation of the drift in the

estimated orientation was performed via the time-update equation (using the orientation obtained

by TRAID from 𝑦𝐴 and 𝑦𝐺 ) instead of the measurement-update equation. This approach resulted

in a substantial improvement of the response and settling times of the proposed CKF.

2.5.5. Modified Kalman Filters

Ren and Kazanzides [162,163] proposed a two-layer filtering scheme such that two LKFs in the
𝐺 𝐺
first layer were designed to estimate 𝑔̂ and 𝑚
̂ from 𝑦𝐴 and 𝑦𝑀 , respectively, and an EKF in

the second layer was used to correct the predicted orientation by SDI using the orientation

calculated by VOs from the first layer. Music et al. [164] introduced a two-layer filter where in

the first layer, a standard EKF estimated orientation using SDI and direct Euler angle calculation

from 𝑦𝐴 and 𝑦𝑀 , while the estimated orientation in the second layer (calculated using a Particle

Filter) was used to present extra information to EKF and improve the overall performance.

Sabatelli et al. [165] developed a two-layer filter where the first and second layers used 𝑦𝐴 and

𝑦𝑀 , respectively, to correct the propagated orientation by the SDI. Also, Dang and Nguyen [166]

proposed a two-layer filter where in the first layer, an EKF estimated the third column of DCM

(associated with attitude) and 𝒶 while in the second layer, an EKF with similar structure

estimated the first column of DCM (associated with yaw angle) and 𝒹. Such structures have the

benefit of eliminating the effect of magnetic disturbance from the attitude estimations.

2.5.6. Adaptive gain tuning of Kalman Filters

KF performance highly relies on an accurate definition of the system and measurement models,

as well as noise covariance matrices (commonly, 𝒬 and ℛ are defined before the estimation starts

and remain fixed during the tracking process). However, in reality, 𝒬 and ℛ could change over

24
time due to the time-varying nature of the errors, such as orientation tracking during slow (quasi-

static) and fast motions. Therefore, adaptive KFs have been proposed to respond to the changes

in the nature of the error by tuning 𝒬 and ℛ in real-time [167].

For example, in the covariance scaling technique, 𝒬 or ℛ are scaled by the factor 𝒮𝑘 > 1 to

put more weight on the a priori state vector 𝓍 − , or measurements, respectively [168]. 𝒮𝑘 can be

tuned using the magnitude of 𝑦𝐴 , 𝑦𝐺 , and/or 𝑦𝑀 at some predefined levels [51,145], or the

magnitude of the predicted residuals [168]. For example, Suh [55] and Suh et al. [169]

customized the application of the covariance scaling technique for a CKF and EKF, respectively,

such that instead of applying a small 𝒮𝑘 to all elements of 𝒬 or ℛ to guard against 𝒶 (and rely

more on 𝑦𝐺 ), first, the direction of the 𝒶 was estimated, and small weights were supplied only for

the affected axes. Sun et al. [170] included an adaptive scheme in their standard CKF to weight

ℛ based on the error between magnitude and direction of 𝑦𝐴 (𝑦𝑀 ) with its reference value

recorded during static (magnetically undisturbed) condition. Later, this method was extended by

Johnson and Sathyan [171] to include 𝑏𝐺 estimation. Tong et al. [172] proposed the application

of a hidden Markov Model recognizer to identify the measurement disturbances and adjust ℛ of

their proposed CKF adaptively. Also, Jamil et al. [173] used an Artificial Neural Network to

eliminate the errors in 𝑦𝐴 and 𝑦𝐺 by adjusting ℛ.

In the innovation-based adaptive estimation technique, the innovation sequence, that is, the

difference between the real measurement and its predicted value by the KF, is used in an

algorithm known as the covariance matching to tune the value of 𝒬, ℛ, or 𝒦 such that the actual

value of the innovation sequence covariance matrix matches its theoretical value [174,175].

Finally, in the multiple-model adaptive estimation technique, a bank of KFs (each using a

different 𝒬 or ℛ) runs in parallel to calculate the a posteriori state estimate 𝓍 + based on the

25
weighted combination of the predicted state by each KF (KF weights could be obtained based on

the probability density function of the innovation sequence covariance matrix) [176].

3 Discussion

Over the past forty years, researchers have developed various SFAs for orientation tracking with

MIMUs. KFs and CFs were used to compensate for the limitations associated with the SDI or

VO algorithms. In both KF and CF approaches, the SDI of 𝑦𝐺 was used to propagate the

orientation in time, and then, the propagated orientation was corrected with the orientation

estimated by a VO algorithm or a corrective term obtained by an optimization rule such as GDA.

However, technical differences were observed amongst these SFAs, even amongst those in the

same family. Therefore, we conducted a survey study to (i) review and categorize publications in

this field to help researchers acquire an inclusive understanding of the technical developments;

(ii) aggregate the lessons learned from the previous works to help researchers developing novel

SFAs; and (iii) summarize the main challenges that are needed to be addressed in future. The

first task was done in Section 2 of the current survey, while the second and third tasks were

addressed in Sections 3.1 and 3.2, respectively.

3.1 Lessons learned

Numerous works proved the efficiency of SFAs in compensating the limitations associated with

the SDI or VO algorithms for orientation tracking with MIMUs. In this section, we listed the

lessons learned during the literature survey. The general flowchart of an SFA in Fig. 3 includes

features that could improve the accuracy and robustness of the orientation estimation.

26
3.1.1. Gyroscope and strap-down integration (SDI)

SDI of 𝑦𝐺 is the core of almost all CFs and KFs. Therefore, the accuracy of the propagated

orientation in time via SDI is vital to the accuracy and robustness of any SFA, especially when

aiding sensors’ recordings, i.e., 𝑦𝐴 and 𝑦𝑀 , are not reliable, such as tracking under high dynamics

or magnetically disturbed environments. To improve the accuracy of SDI, the followings must be

considered.

(i) Use a gyroscope with low bias.

(ii) Correct the gyroscope’s static bias and scale factor (block 1 in Fig. 3). For the static bias,

before any data acquisition, the MIMU must be turned on and put at rest for a while

(commonly specified by the manufacturer, and if not, at least 20 minutes according to

[42]). This will ensure that the gyroscope has reached ambient temperature, and the

estimated static bias will not change significantly due to temperature change. Then, 𝑦𝐺

must be measured when the MIMU is at rest to obtain an estimate of the static bias.

Finally, the estimated static bias must be removed from 𝑦𝐺 recorded during data

acquisition.

(iii) Use stochastic models [52,147] or heuristics [41] to estimate the time-varying 𝑏𝐺 in real-

time (block 2 in Fig. 3). A first-order Markov process, as in (1b), can be used for this

purpose. According to the principle of pseudo-noise injection, estimating 𝑏𝐺 can improve

the accuracy and robustness of the orientation tracking, even for short trials where 𝑏𝐺 does

not have time to change drastically [127].

(iv) Use an accurate estimation of exp(∙) for the SDI in (4a) (block 3 in Fig. 3). For example,

using a first-order Taylor series showed inaccurate results under low sampling frequencies

[57].

27
3.1.2. Accelerometer and magnetometer

During long-duration trials, the use of accelerometer and magnetometer are crucial to an SFA, as

they can correct the cumulative error of the SDI. Thus, consider the following for these aiding

sensors.

(i) Evaluate the calibration of these sensors (blocks 4 in Fig. 3). Various procedures have been

introduced in the literature to verify and possibly re-calibrate accelerometers [27,53,177]

and magnetometers [178]. These procedures use ad hoc tests to estimate the scale factors 𝐾𝐴

and 𝐾𝑀 (in (2a) and (3a)), as well as the bias terms of these sensors, which can be later used

to correct 𝑦𝐴 and 𝑦𝑀 .

(ii) Use online stochastic models, e.g., first-order Markov processes as in (2b) and (3b), to

estimate 𝒶 and 𝒹, respectively, and correct 𝑦𝐴 and 𝑦𝑀 (blocks 5 in Fig. 3). This correction is

effective for motions with high dynamics or in magnetically disturbed environments

[51,52,127].

3.1.3. Dealing with magnetic disturbance

Magnetic disturbance can significantly affect the yaw angle estimation, which in turn may affect

the attitude estimation. Thus, consider the following when formulating an SFA.

(i) Decouple the attitude estimation from 𝑦𝑀 or yaw angle (block 6 in Fig. 3). For example, use

TRIAD, instead of QUEST, as the VO algorithm in CF or KF, or use two-layer filters as in

[79,104,130,179,180].

(ii) Use vector selection to detect and reject imperfect measurements (block 7 in Fig. 3). When

the geomagnetic field is disturbed, the field strength and dip angle change significantly.

Therefore, magnetic disturbance can be identified by applying thresholds to the field

strength and/or dip angle. In such cases, the propagated orientation by SDI can be declared

28
as the estimated orientation without any correction, see [38] for more details. A similar

approach can be applied to 𝑦𝐴 to reduce the effect of non-gravitational acceleration.

3.1.4. Adaptive gain tuning

Gain tuning plays a significant role in the performance of any SFA; if gains are selected

improperly, the SFA could even diverge. Therefore, consider the following regarding SFA gains.

(i) Use an online gain turning strategy to adaptively put more weight on the most reliable

source of information (block 8 in Fig. 3). For instance, to reduce the effect of correction via

the magnetometer and rely more on the gyroscope, when the magnetic disturbance is

detected using a vector selection, the CF gain or KF measurement covariance matrix should

be adjusted accordingly.

(ii) Decouple the gains associated with gyroscope, accelerometer, and magnetometer (blocks 9

in Fig. 3). Generally, developing a KF with a different gain for each sensor is easy.

However, in most well-recognized CFs, such as [25,26], the same gain is used to weight

accelerometer and magnetometer. In such cases, both sensors will be declared reliable or

unreliable at the same time, while one can be more reliable than the other one.

(iii) Select the filter gains rigorously. Although filter gains found by trial-and-error might result

in acceptable estimations under certain working conditions, the filter performance will not

be guaranteed for other situations. Therefore, filter gains must be evaluated under various

motion patterns, intensities, and durations.

3.1.5. Beyond EKF

Violation of the assumptions that were used to formulate a filter can degrade its performance.

Thus, consider the following two extensions for KFs.

29
(i) When execution time is not a consideration, use unscented KF instead of EKF. As EKF uses

linearization to propagate the mean and covariance of the state vector, its performance can

deteriorate for highly nonlinear systems.

(ii) Use robust filtering techniques when adaptive gain tuning is not possible. For example, the

𝐻∞ filter formulates an estimation strategy that bounds the worst-case estimation error by

adaptively weighting the state error covariance matrix [117]. Also, the 𝐻∞ filter assumes

that the process and measurement noises are energy bounded signals, and drops the

Gaussian distribution assumption for noises in formulating the standard KF.

3.2 Future Research Challenges

Various VO/CF/KF formulations with major or minor differences have been developed for

orientation tracking with MIMUs. Thus, one could argue that technical contribution to this field

is not the primary research challenge at the moment. Instead, we suggest that test platforms [181]

and benchmarking studies are required to identify the most effective SFAs, as well as techniques

that could improve the accuracy and robustness of SFAs. The reason is that each publication

assessed the performance of its proposed SFA using limited test scenarios in terms of motion

duration, pattern, and intensity. Also, other contributing factors, such as the manufacturing

quality of the MIMU or optimal SFA gains, were not considered in assessments. As a result,

contradictory results on the performance of SFAs have been reported in various studies.

Therefore, developing benchmarks where SFAs can be assessed against each other under

similar testing conditions remains the main challenge in the field of orientation tracking with

MIMUs. Such a benchmark must have the following features.

(i) Various test scenarios are recorded. Short- and long-duration trials are required to evaluate

the effect of 𝑏𝐺 . Static, medium and high dynamic (with static periods in the middle) trials

30
are required to evaluate convergence and tracking ability of the SFAs. Extreme testing

scenarios, such as MIMU impact, are required to reveal the robustness of an SFA.

(ii) The true orientation is recorded synchronously with MIMUs using a reference system such

as the camera motion-capture system. This information is not only useful for performance

assessment but also for tuning the SFA’s gain(s).

(iii) Data of multiple MIMUs, preferably with different manufacturing qualities, are recorded.

Such trials can demonstrate the effectiveness of the SFA correction strategy using the aiding

sensors, specifically for long-duration trials where SDI faces a significant drift.

Using a benchmark with these features, optimal gains for each SFA and MIMU should be

obtained using a portion of the data and by comparing the estimated and reference orientations.

The rest of the data can be used for validation.

Finding the most effective techniques for improving the performance of the existing

SFAs is the second research challenge. Using a benchmark, the following should be evaluated.

(i) Various adaptive gain tuning strategies must be assessed. While some strategies, such as the

covariance scaling technique, can only be applied to KFs, vector selection for gain turning

can be applied to almost any SFA.

(ii) Various stochastic and heuristic models for estimating the unmeasurable time-varying terms

in the MIMU model must be investigated. For example, applying the first- vs second-order

Markov process for estimating the non-gravitational acceleration or magnetic disturbance.

(iii) Uncommon modelling techniques, such as two-layer filters or variable state KF, must be

further evaluated.

31
4 Conclusions

Due to the number of publications in the field, a comprehensive survey of all publications related

to SFAs for orientation tracking with MIMUs is virtually impossible. Nevertheless, in this paper,

the three main strategies, including VO, CF, and KF, were surveyed and categorized, and

references to more than 250 publications are provided. Specifically, for CFs and KFs, details of

the filter structure, compensation strategies for correcting the raw MIMU signals, and gain

tuning strategies are tabulated. Therefore, the current survey can be regarded as a source for

details on the state-of-the-art SFAs, all described with a unified notation.

Moreover, we aggregated the lessons learned from the previous works to help researchers

develop effective SFAs. In summary, as shown in Fig. 3, an SFA should include the following

elements: (i) offline calibration of gyroscope, accelerometer, and magnetometer; (ii) online

estimation of gyroscope bias, non-gravitational external acceleration, and magnetic disturbance;

(iii) proper implementation of the SDI as well as an algorithm for orientation estimation via the

corrected accelerometer and magnetometer readouts; (iv) vector selection technique for

imperfect measurement rejection; and (v) adaptive gain tuning for intelligent selection of SFA

gains in real-time. Finally, the accuracy and reliability of the newly developed SFAs must be

evaluated against others using a publicly available data set. This could help researchers identify

the strengths and weaknesses of each SFA in practice as well as gaps to be addressed.

Declaration of interest

None.

32
Funding sources

This work was financially supported by Vanier Canada Graduate Scholarship, Alberta Innovates

Graduate Student Scholarship, and Izaak Walton Killam Memorial Scholarship.

CRediT author statement

Milad Nazarahari: Conceptualization, Methodology, Investigation, Writing - Original Draft,

Visualization. Hossein Rouhani: Conceptualization, Resources, Writing - Review & Editing,

Supervision, Project administration.

Graphical abstract

33
References
[1] J. Nilsson, I. Skog, Inertial Sensor Arrays – A Literature Review, 2016 Eur. Navig. Conf. (2016) 1–10.
[2] N. Ahmad, R. Ariffin, R. Ghazilla, N.M. Khairi, Reviews on Various Inertial Measurement Unit (IMU) Sensor Applications, Int. J.
Signal Process. Syst. 1 (2013) 256–262.
[3] M. Cornacchia, K. Ozcan, Y. Zheng, S. Velipasalar, Survey on Activity Detection and Classification Using Wearable Sensors, IEEE
Sens. J. 17 (2017) 386–403.
[4] R. Harle, A survey of indoor inertial positioning systems for pedestrians, IEEE Commun. Surv. Tutorials. 15 (2013) 1281–1293.
[5] R. Bhardwaj, N. Kumar, V. Kumar, Errors in micro-electro-mechanical systems inertial measurement and a review on present practices
of error modelling, Trans. Inst. Meas. Control. 40 (2018) 2843–2854.
[6] N. Trawny, S.I. Roumeliotis, Indirect Kalman Filter for 3D Attitude Estimation, 2005.
[7] N.H.Q. Phuong, H.-J. Kang, Y.-S. Suh, Y.-S. Ro, A DCM Based Orientation Estimation Algorithm with an Inertial Measurement Unit
and a Magnetic Compass, J. Univers. Comput. Sci. 15 (2009) 859–876.
[8] H. Qi, J.B. Moore, Direct Kalman filtering approach for GPS/INS integration, IEEE Trans. Aerosp. Electron. Syst. 38 (2002) 687–693.
[9] G. Schall, D. Wagner, G. Reitmayr, E. Taichmann, M. Wieser, D. Schmalstieg, B. Hofmann-Wellenhof, Global pose estimation using
multi-sensor fusion for outdoor augmented reality, in: 2009 8th IEEE Int. Symp. Mix. Augment. Real., 2009: pp. 153–162.
[10] A. Filippeschi, N. Schmitz, M. Miezal, G. Bleser, E. Ruffaldi, D. Stricker, Survey of Motion Tracking Methods Based on Inertial
Sensors: A Focus on Upper Limb Human Motion, Sensors. 17 (2017).
[11] D. Choukroun, H. Weiss, I.Y. Bar-Itzhack, Y. Oshman, Direction Cosine Matrix Estimation from Vector Observations using a Matrix
Kalman Filter, IEEE Trans. Aerosp. Electron. Syst. 46 (2010) 61–79.
[12] M.D. Shuster, Constraint in Attitude Estimation Part I: Constrained Estimation, J. Astronaut. Sci. 51 (2003) 51–74.
[13] I.Y. Bar-Itzhack, J. Deutschmann, F.L. Markley, Quaternion normalization in additive EKF for spacecraft attitude determination, in:
Navig. Control Conf., 1991.
[14] J. Hu, K. Sun, A Robust Orientation Estimation Algorithm Using MARG Sensors, IEEE Trans. Instrum. Meas. 64 (2015) 815–822.
[15] H. Hyyti, A. Visala, A DCM Based Attitude Estimation Algorithm for Low-Cost MEMS IMUs, Int. J. Navig. Obs. Hindawi. (2015).
[16] S. Patel, H. Park, P. Bonato, L. Chan, M. Rodgers, A review of wearable sensors and systems with application in rehabilitation, J.
Neuroeng. Rehabil. 9 (2012) 1–17.
[17] R. Gravina, P. \Alinia, H. Ghasemzadeh, G. Fortino, Multi-sensor fusion in body sensor networks: State-of-the-art and research
challenges, Inf. Fusion. 35 (2017) 68–80.
[18] M. Iosa, P. Picerno, S. Paolucci, G. Morone, Wearable inertial sensors for human movement analysis, Expert Rev. Med. Devices. 13
(2016) 641–659.
[19] G. Vannozzi, E. Bergamini, S. Fantozzi, G. Vannozzi, Trends Supporting the In-Field Use of Wearable Inertial Sensors for Sport
Performance Evaluation: A Systematic Review, Sensors. 18 (2018).
[20] X. Guo, N. Ansari, F. Hu, Y. Shao, N.R. Elikplim, L. Li, A Survey on Fusion-based Indoor Positioning, IEEE Commun. Surv.
Tutorials. 22 (2020) 566–594.
[21] A.M. Hasan, K. Samsudin, A.R. Ramli, R.S. Azmir, A Review of Navigation Systems (Integration and Algorithms), Aust. J. Basic
Appl. Sci. (2009) 943–959.
[22] Z. Yang, C. Wu, Z. Zhou, X. Zhang, X. Wang, Y. Liu, Mobility increases localizability: A survey on wireless indoor localization using
inertial sensors, ACM Comput. Surv. 47 (2015) 1–34.
[23] J.L. Crassidis, F.L. Markley, Y. Cheng, A Survey of Nonlinear Attitude Estimation Methods, J. Guid. Control. Dyn. 30 (2007).
[24] A. Cavallo, A. Cirillo, P. Cirillo, G. De Maria, P. Falco, C. Natale, S. Pirozzi, Experimental comparison of sensor fusion algorithms for
attitude estimation, IFAC, 2014.
[25] S.O.H. Madgwick, A.J.L. Harrison, R. Vaidyanathan, Estimation of IMU and MARG orientation using a gradient descent algorithm, in:
2011 IEEE Int. Conf. Rehabil. Robot., Zurich, 2011: pp. 1–7.
[26] R. Mahony, T. Hamel, J.-M. Pflimlin, Non-linear Complementary Filters on the Special Orthogonal Group, IEEE Trans. Automat.
Contr. 53 (2008) 1203–1218.
[27] M. Gietzelt, K.H. Wolf, M. Marschollek, R. Haux, Performance comparison of accelerometer calibration algorithms based on 3D-
ellipsoid fitting methods, Comput. Methods Programs Biomed. 111 (2013) 62–71.
[28] R. Zhu, Z. Zhou, A real-time articulated human motion tracking using tri-axis inertial/magnetic sensors package, IEEE Trans. Neural
Syst. Rehabil. 12 (2004) 295–302.
[29] X. Yun, E.R. Bachmann, Design, implementation and experimental results of a quaternion-based Kalman filter for human body motion
tracking, IEEE Trans. Robot. 22 (2006) 1216–1227.
[30] A.D. Young, Use of body model constraints to improve accuracy of inertial motion capture, 2010 Int. Conf. Body Sens. Networks, BSN
2010. (2010) 180–186.
[31] G. Bleser, G. Hendeby, M. Miezal, Using egocentric vision to achieve robust inertial body tracking under magnetic disturbances, in:
Proc. 2011 10th IEEE Int. Symp. Mix. Augment. Real., 2011: pp. 103–109.
[32] L. Peppoloni, A. Filippeschi, E. Ruffaldi, C.A. Avizzano, A novel 7 degrees of freedom model for upper limb kinematic reconstruction
based on wearable sensors, in: Proc. 2013 IEEE 11th Int. Symp. Intell. Syst. Informatics, 2013: pp. 105–110.

34
[33] A.D. Young, Comparison of orientation filter algorithms for realtime wireless inertial posture tracking, Proc. - 2009 6th Int. Work.
Wearable Implant. Body Sens. Networks, BSN 2009. (2009) 59–64.
[34] M.D. Shuster, S.D. Oh, Three-axis attitude determination from vector observations, J. Guid. Control. Dyn. 4 (1981) 70–77.
[35] G. Lerner, Spacecraft Attitude Determination and Control, in: Spacecr. Attitude Determ. Control, Kluwer Academic, 1978: pp. 420–
428.
[36] X. Yun, E. Bachmann, R. McGhee, A simplified quaternion based algorithm for orientation estimation from Earth gravity and magnetic
field measurements, IEEE Trans. Instrum. Meas. 57 (2008) 638–650.
[37] A.M. Sabatini, Estimating three-dimensional orientation of human body parts by inertial/magnetic sensing, Sensors. 11 (2011) 1489–
1525.
[38] B. Fan, Q. Li, T. Liu, How magnetic disturbance influences the attitude and heading in magnetic and inertial sensor-based orientation
estimation, Sensors (Switzerland). 18 (2018).
[39] G. Ligorio, A.M. Sabatini, Dealing with magnetic disturbances in human motion capture: A survey of techniques, Micromachines. 7
(2016).
[40] K. Feng, J. Li, X. Zhang, C. Shen, Y. Bi, T. Zheng, J. Liu, A new quaternion-based kalman filter for real-time attitude estimation using
the two-step geometrically-intuitive correction algorithm, Sensors. 17 (2017).
[41] S. Madgwick, AHRS Algorithms and Calibration Solutions to Facilitate New Applications Using Low-Cost MEMS, University of
Bristol, 2014.
[42] E. Bergamini, G. Ligorio, A. Summa, G. Vannozzi, A. Cappozzo, A.M. Sabatini, Estimating Orientation Using Magnetic and Inertial
Sensors and Different Sensor Fusion Approaches: Accuracy Assessment in Manual and Locomotion Tasks, Sensors. (2014) 18625–
18649.
[43] M. Caruso, A.M. Sabatini, M. Knaflitz, M. Gazzoni, U. Della Croce, A. Cereatti, Accuracy of the Orientation Estimate Obtained Using
Four Sensor Fusion Filters Applied to Recordings of Magneto-Inertial Sensors Moving at Three Rotation Rates, in: 2019 41st Annu.
Int. Conf. IEEE Eng. Med. Biol. Soc., 2019.
[44] Open Source Sensor Fusion, (n.d.). https://github.com/memsindustrygroup/Open-Source-Sensor-Fusion/tree/master/docs.
[45] T. Michel, H. Fourati, P. Genev, N. Laya, A Comparative Analysis of Attitude Estimation for Pedestrian Navigation with Smartphones,
in: Nternational Conf. Indoor Position. Indoor Navig., 2015.
[46] V. Renaudin, C. Combettes, Magnetic, Acceleration Fields and Gyroscope Quaternion (MAGYQ)-Based Attitude Estimation with
Smartphone Sensors for Indoor Pedestrian Navigation, Sensors. 14 (2014) 22864–22890.
[47] D. Choukroun, I.Y. Bar-Itzhack, Y. Oshman, Novel quaternion Kalman filter, EEE Trans. Aerosp. Electron. Syst. 14 (2004) 20008–
20024.
[48] H. Fourati, Heterogeneous Data Fusion Algorithm for Pedestrian Navigation via Foot-Mounted Inertial Measurement Unit and
Complementary Filter, IEEE Trans. Instrum. Meas. 64 (2015) 221–229.
[49] P. Martin, E. Salaun, Design and implementation of a low-cost observer-based attitude and heading reference system, Control Eng.
Pract. 18 (2010) 712–722.
[50] M. Carratu, S. Dello Iacono, M. Long Hoang, A. Pietrosanto, Energy characterization of attitude algorithms, in: IEEE Int. Conf. Ind.
Informatics, 2019: pp. 1585–1590.
[51] Angelo M. Sabatini, Quaternion-based extended Kalman filter for determining orientation by inertial and magnetic sensing, IEEE
Trans. Biomed. Eng. 53 (2006) 1346–1356.
[52] D. Roetenberg, H.J. Luinge, C.T.M. Baten, P.H. Veltink, Compensation of magnetic disturbances improves inertial and magnetic
sensing of human body segment orientation, IEEE Trans. Neural Syst. Rehabil. Eng. 13 (2005) 395–405.
[53] F. Ferraris, U. Grimaldi, M. Parvis, Procedure for effortless in-field calibration of three-axis rate gyros and accelerometers, Sensors
Mater. 7 (1995) 311–330.
[54] H.J. Luinge, P.H. Veltink, Inclination Measurement of Human Movement Using a 3-D Accelerometer with Autocalibration, IEEE
Trans. Neural Syst. Rehabil. Eng. 12 (2004) 112–121.
[55] Y.S. Suh, Orientation Estimation Using a Quaternion-Based Indirect Kalman Filter With Adaptive Estimation of External Acceleration,
IEEE Trans. Instrum. Meas. 59 (2010) 3296–3305.
[56] J.C.K. Chou, Quaternion Kinematic and Dynamic Differential Equations, IEEE Trans. Robot. Autom. 8 (1992) 53–64.
[57] J.K. Lee, M.J. Choi, Effect of strapdown integration order and sampling rate on IMU-Based attitude estimation accuracy, Sensors
(Switzerland). 18 (2018).
[58] Y. Hao, Z. Xiong, W. Gao, L. Li, Study of strapdown inertial navigation integration algorithms, in: Proc. 2004 Int. Conf. Intell.
Mechatronics Autom., 2004: pp. 751–754. https://doi.org/10.1109/icima.2004.1384296.
[59] H.J. Luinge, P.H. Veltink, Measuring orientation of human body segments using miniature gyroscopes and accelerometers, Med. Biol.
Eng. Comput. 43 (2005) 273–282.
[60] I. Pasciuto, G. Ligorio, E. Bergamini, G. Vannozzi, A.M. Sabatini, A. Cappozzo, How angular velocity features and different
gyroscope noise types interact and determine orientation estimation accuracy, Sensors (Switzerland). 15 (2015) 23983–24001.
[61] G. Wahba, A Least Squares Estimate of Spacecraft Attitude, SIAM Rev. 7 (1965) 409.
[62] F.L. Markley, D. Mortari, How to estimate attitude from vector observations, (1999).
[63] I.Y. Bar-Itzhack, R.R. Harman, Optimized TRIAD Algorithm for Attitude Determination, J. Guid. Control. Dyn. 20 (1997) 208–211.
[64] M.D. Shuster, S.D. Oh, Three-axis attitude determination from vector observations, J. Guid. Control. Dyn. 4 (1981) 70–77.
[65] P.B. Davenport, A vector approach to the algebra of rotations with applications, NASA, Tech. Rep. (1968).

35
[66] F.L. Markley, Attitude determination from vector observations: A fast optimal matrix algorithm, J. Astronaut. Sci. 41 (1993) 261–280.
[67] F.L. Markley, Attitude determination using vector observations and the singular value decomposition, J. Astronaut. Sci. 36 (1988) 245–
258.
[68] M.D. Shuster, Filter QUEST or REQUEST, J. Guid. Control. Dyn. 32 (2009) 643–645.
[69] I. Y. Bar-Itzhack, REQUEST—A recursive QUEST algorithm for sequential attitude determination, J. Guid. Control. Dyn. 19 (1996)
1034–1038.
[70] J. Wu, Z. Zhou, B. Gao, R. Li, Y. Cheng, H. Fourati, Fast Linear Quaternion Attitude Estimator Using Vector Observations, IEEE
Trans. Autom. Sci. Eng. 15 (2018) 307–319.
[71] J. Wu, Z. Zhou, H. Fourati, M. Liu, Recursive linear continuous quaternion attitude estimator from vector observations, IET Radar,
Sonar Navig. 12 (2018) 1196–1207.
[72] D. Gebre-Egziabher, G.H. Elkaim, J. Powell, B.W. Parkinson, A gyro-free quaternion-based attitude determination system suitable for
implementation using low cost sensors, in: 2000 IEEE Position Locat. Navig. Symp., San Diego, CA, USA, 2000: pp. 185–192.
[73] R.G. Valenti, I. Dryanovski, J. Xiao, Keeping a good attitude: A quaternion-based orientation filter for IMUs and MARGs, Sensors. 15
(2015) 19302–19330.
[74] R.G. Valenti, I. Dryanovski, J. Xiao, A linear Kalman filter for MARG orientation estimation using the algebraic quaternion algorithm,
IEEE Trans. Instrum. Meas. 65 (2016) 467–481.
[75] J. Calusdian, X. Yun, E. Bachmann, Adaptive-gain complementary filter of inertial and magnetic data for orientation estimation, Proc. -
IEEE Int. Conf. Robot. Autom. (2011) 1916–1922.
[76] E.R. Bachmann, I. Duman, U.Y. Usta, R.B. McGhee, X.P. Yun, M.J. Zyda, Orientation tracking for humans and robots using inertial
sensors, in: Proc. 1999 IEEE Int. Symp. Comput. Intell. Robot. Autom. CIRA’99 (Cat. No.99EX375), 1999: pp. 187–194.
[77] J.K. Lee, E.J. Park, A fast quaternion-based orientation optimizer via virtual rotation for human motion tracking, IEEE Trans. Biomed.
Eng. 56 (2009) 1574–1582.
[78] H. Fourati, N. Manamanni, L. Afilal, Y. Handrich, A Nonlinear Filtering Approach for the Attitude and Dynamic Body Acceleration
Estimation Based on Inertial and Magnetic Sensors: Bio-Logging Application, IEEE Sens. J. 11 (2011) 233–244.
[79] H. Fourati, N. Manamanni, L. Afilal, Y. Handrich, Complementary observer for body segments motion capturing by inertial and
magnetic sensors, IEEE/ASME Trans. Mechatronics. 19 (2014) 149–157.
[80] Y. Tian, H.X. Wei, J.D. Tan, An adaptive-gain Complementary Filter for real-time human motion tracking with MARG sensors in free-
living environments, IEEE Trans. Neural Syst. Rehabil. Eng. 21 (2013) 254–264.
[81] M.B. Del Rosario, N.H. Lovell, S.J. Redmond, Quaternion-Based Complementary Filter for Attitude Determination of a Smartphone,
IEEE Sens. J. 16 (2016) 6008–6017.
[82] B. Fan, Q. Li, C. Wang, T. Liu, An adaptive orientation estimation method for magnetic and inertial sensors in the presence of magnetic
disturbances, Sensors (Switzerland). 17 (2017).
[83] J. Wu, Z. Zhou, H. Fourati, R. Li, M. Liu, Generalized Linear Quaternion Complementary Filter for Attitude Estimation From
Multisensor Observations: An Optimization Approach, IEEE Trans. Autom. Sci. Eng. 16 (2019) 1330–1343.
[84] S. Ghasemi-Moghadam, M.R. Homaeinezhad, Attitude determination by combining arrays of MEMS accelerometers, gyros, and
magnetometers via quaternion-based complementary filter, Int. J. Numer. Model. Electron. Networks, Devices Fields. 31 (2018) 1–24.
[85] C. Yi, J. Ma, H. Guo, J. Han, H. Gao, F. Jiang, C. Yang, Estimating three-dimensional body orientation based on an improved
complementary filter for human motion tracking, Sensors. 18 (2018) 1–19.
[86] Y. Guan, X. Song, Sensor Fusion of Gyroscope and Accelerometer for Low-Cost Attitude Determination System, in: Proc. 2018
Chinese Autom. Congr. CAC 2018, IEEE, 2018: pp. 1068–1072.
[87] R. Zhu, Z. Zhou, A small low-cost hybrid orientation system and its error analysis, IEEE Sens. J. 9 (2009) 223–230.
[88] P. Daponte, L. De Vito, S. Rapuano, M. Riccio, F. Picariello, Compensating magnetic disturbances on MARG units by means of a low
complexity data fusion algorithm, in: Proc. 2015 IEEE Int. Symp. Med. Meas. Appl. MeMeA 2015, IEEE, 2015: pp. 157–162.
[89] J. Cockcroft, J.H. Muller, C. Scheffer, A complementary filter for tracking bicycle crank angles using inertial sensors, kinematic
constraints, and vertical acceleration updates, IEEE Sens. J. 15 (2015) 4218–4225.
[90] M. Kok, T.B. Schön, A Fast and Robust Algorithm for Orientation Estimation Using Inertial Sensors, IEEE Signal Process. Lett. 26
(2019) 1673–1677.
[91] Y.C. Lai, S.S. Jan, F. Bin Hsiao, Development of a low-cost attitude and heading reference system using a three-axis rotating platform,
Sensors. 10 (2010) 2472–2491.
[92] R. Chang, X. Mu, X. Shen, Attitude estimation with complementary filter, Appl. Mech. Mater. 44–47 (2011) 3781–3784.
[93] T.S. Yoo, S.K. Hong, H.M. Yoon, S. Park, Gain-scheduled complementary filter design for a MEMS based attitude and heading
reference system, Sensors. 11 (2011) 3816–3830.
[94] M. Euston, P. Coote, R. Mahony, J. Kim, T. Hamel, A complementary filter for attitude estimation of a fixed-wing UAV, in:
Proceeding 2008 IEEE Int. Conf. Intell. Robot. Syst., 2008: pp. 340–345.
[95] X. Wen, C. Liu, Z. Huang, S. Su, X. Guo, Z. Zuo, H. Qu, A first-order differential data processing method for accuracy improvement of
complementary filtering in micro-UAV attitude estimation, Sensors (Switzerland). 19 (2019).
[96] A. Khosravian, M. Namvar, Rigid body attitude control using a single vector measurement and gyro, IEEE Trans. Automat. Contr. 57
(2012) 1273–1279.
[97] Y. Wang, E. Chang-Siu, M. Brown, M. Tomizuka, M.I. Almajed, B.N. Alsuwaidan, Three dimensional attitude estimation via the triad
algorithm and a time-varying complementary filter, in: 5th Annu. Dyn. Syst. Control Conf. Jt. with JSME 2012 11th Motion Vib.

36
Conf., 2012: pp. 157–165.
[98] R.B. Widodo, H. Edayoshi, C. Wada, Complementary filter for orientation estimation: Adaptive gain based on dynamic acceleration
and its change, in: 2014 Jt. 7th Int. Conf. Soft Comput. Intell. Syst. SCIS 2014 15th Int. Symp. Adv. Intell. Syst. ISIS 2014, IEEE,
2014: pp. 906–909.
[99] H.F. Grip, T.I. Fossen, T.A. Johansen, A. Saberi, Attitude estimation based on time-varying reference vectors with biased gyro and
vector measurements, IEEE Trans. Automat. Contr. 44 (2011) 8497–8502.
[100] K.J. Jensen, Generalized nonlinear complementary attitude filter, J. Guid. Control. Dyn. 34 (2011) 1588–1592.
[101] O. De Silva, G.K.I. Mann, R.G. Gosine, The Right Invariant Nonlinear Complementary Filter for Low Cost Attitude and Heading
Estimation of Platforms, J. Dyn. Syst. Meas. Control. Trans. ASME. 140 (2018).
[102] M.D. Hua, G. Ducard, T. Hamel, R. Mahony, K. Rudin, Implementation of a nonlinear attitude estimator for aerial robotic vehicles,
IEEE Trans. Control Syst. Technol. 22 (2014) 201–213.
[103] B. Fan, Q. Li, T. Liu, Improving the accuracy of wearable sensor orientation using a two-step complementary filter with state machine-
based adaptive strategy, Meas. Sci. Technol. 29 (2018).
[104] J. Wu, Z. Zhou, J. Chen, H. Fourati, R. Li, Fast Complementary Filter for Attitude Estimation Using Low-Cost MARG Sensors, IEEE
Sens. J. 16 (2016) 6997–7007.
[105] P. Marantos, Y. Koveos, K.J. Kyriakopoulos, UAV State Estimation Using Adaptive Complementary Filters, IEEE Trans. Control Syst.
Technol. 24 (2016) 1214–1226.
[106] Q.Q. Yang, L.L. Sun, L. Yang, A Fast Adaptive-Gain Complementary Filter Algorithm for Attitude Estimation of an Unmanned Aerial
Vehicle, J. Navig. 71 (2018) 1478–1491.
[107] J. Chang, J. Cieslak, A. Zolghadri, J. Dávila, J. Zhou, Design of sliding mode observers for quadrotor pitch/roll angle estimation via
IMU measurements, in: 2015 Work. Res. Educ. Dev. Unmanned Aer. Syst. RED-UAS 2015, 2016: pp. 393–400.
[108] J. Chang, J. Cieslak, J. Dávila, J. Zhou, A. Zolghadri, Z. Guo, A Two-Step Approach for an Enhanced Quadrotor Attitude Estimation
via IMU Data, IEEE Trans. Control Syst. Technol. 26 (2018) 1140–1148.
[109] A. El Hadri, A. Benallegue, Sliding mode observer to estimate both the attitude and the gyro-bias by using low-cost sensors, in: 2009
IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2009.
[110] J.F. Vasconcelos, B. Cardeira, C. Silvestre, P. Oliveira, P. Batista, Discrete-Time Complementary Filters for Attitude and Position
Estimation: Design, Analysis and Experimental Validation, IEEE Trans. Control Syst. Technol. 19 (2011) 181–198.
https://doi.org/10.1016/j.ifacol.2019.11.274.
[111] A. Tayebi, S. McGilvray, A. Roberts, M. Moallem, Attitude estimation and stabilization of a rigid body using low-cost sensors, in:
Proc. IEEE Conf. Decis. Control, 2007: pp. 6424–6429.
[112] H. Sheng, T. Zhang, MEMS-based low-cost strap-down AHRS research, Meas. J. Int. Meas. Confed. 59 (2015) 63–72.
[113] Z. Wu, Z. Sun, W. Zhang, Q. Chen, A Novel Approach for Attitude Estimation Based on MEMS Inertial Sensors Using Nonlinear
Complementary Filters, IEEE Sens. J. 16 (2016) 3856–3864.
[114] A.A. Neto, D.G. Macharet, V.C. da Silva Campos, M.F.M. Campos, Adaptive complementary filtering algorithm for mobile robot
localization, J. Brazilian Comput. Soc. 15 (2009) 19–31.
[115] R. Kottath, P. Narkhede, V. Kumar, V. Karar, S. Poddar, Multiple Model Adaptive Complementary Filter for Attitude Estimation,
Aerosp. Sci. Technol. 69 (2017) 574–581.
[116] S. Poddar, P. Narkhede, V. Kumar, A. Kumar, PSO Aided Adaptive Complementary Filter for Attitude Estimation, J. Intell. Robot.
Syst. Theory Appl. 87 (2017) 531–543.
[117] Dan Simon, Optimal State Estimation, Kalman, H-infinity, and Nonlinear Approaches, John Wiley & Sons, Inc., 2006.
[118] B. Barshan, H.F. Durrant-whyte, Evaluation of a Solid-state Gyroscope for Robotics Applications, IEEE Trans. Instrum. Meas. 44
(1995) 61–67.
[119] X. Yun, M. Lizarraga, E.R. Bachmann, R.B. McGhee, An Improved Quaternion-Based Kalman Filter for Real-Time Tracking of Rigid
Body Orientation, in: Proc. 2003 IEEWRSJ Inll. Conf. Intell. Robot. Syst., 2003: pp. 1074–1079.
[120] S. Yean, B.S. Lee, C.K. Yeo, C.H. Vun, H.L. Oh, Smartphone Orientation Estimation Algorithm Combining Kalman Filter With
Gradient Descent, IEEE J. Biomed. Heal. Informatics. 22 (2018) 1421–1433.
[121] L. Wöhle, M. Gebhard, A Robust Quaternion based Kalman Filter Using a Gradient Descent Algorithm for Orientation Measurement,
in: Proc. 2018 IEEE Int. Instrum. Meas. Technol. Conf., 2018.
[122] J.K. Lee, E.J. Park, Minimum-Order Kalman Filter With Vector Selector for Accurate Estimation of Human Body Orientation, IEEE
Trans. Robot. 25 (2009) 1196–1201.
[123] F.L. Markley, Fast quaternion attitude estimation from two vector measurements, J. Guid. Control. Dyn. 25 (2002) 411–414.
[124] E. Seo, C. Park, D. Kim, J. Song, Quaternion-Based Orientation Estimation with Static Error Reduction, in: Proc. 2011 IEEE Int. Conf.
Mechatronics Autom., IEEE, 2011: pp. 1624–1629.
[125] S. Guo, J. Wu, Z. Wang, J. Qian, Novel MARG-sensor orientation estimation algorithm using Fast Kalman Filter, J. Sensors. (2017) 1–
12.
[126] A. Kim, M.F. Golnaraghi, A quaternion-based orientation estimation algorithm using an inertial measurement unit, in: Rec. - IEEE
PLANS, Position Locat. Navig. Symp., 2004: pp. 268–272.
[127] G. Ligorio, A.M. Sabatini, A novel kalman filter for human motion tracking with an inertial-based dynamic inclinometer, IEEE Trans.
Biomed. Eng. 62 (2015) 2033–2043.
[128] J.K. Lee, A Parallel Attitude-Heading Kalman Filter Without State-Augmentation of Model-Based Disturbance Components, IEEE

37
Trans. Instrum. Meas. 68 (2019) 2668–2670.
[129] G. Ligorio, A.M. Sabatini, A Linear Kalman Filtering-based Approach for 3D Orientation Estimation from Magnetic/Inertial Sensors,
in: Proc. 2015 IEEE Int. Conf. Multisens. Fusion Integr. Intell. Syst., IEEE, 2015: pp. 77–82.
[130] J.K. Lee, M.J. Choi, A Sequential Orientation Kalman Filter for AHRS Limiting Effects of Magnetic Disturbance to Heading
Estimation, J. Electr. Eng. Technol. 12 (2017) 1921–1928.
[131] R. Zhu, D. Sun, Z. Zhou, D. Wang, A linear fusion algorithm for attitude determination using low cost MEMS-based sensors,
Measurement. 40 (2007) 322–328.
[132] P. Batista, C. Silvestre, P. Oliveira, Sensor-based Complementary Globally Asymptotically Stable Filters for Attitude Estimation, in: Jt.
48th IEEE Conf. Decis. Control 28th Chinese Control Conf., 2009: pp. 7563–7568.
[133] P. Batista, C. Silvestre, P. Oliveira, S. Member, Sensor-Based Globally Asymptotically Stable Filters for Attitude Estimation: Analysis,
Design, and Performance Evaluation, IEEE Trans. Automat. Contr. 57 (2012) 2095–2100.
[134] D. Jurman, M. Jankovec, R. Kamnik, M. Topic, Calibration and data fusion solution for the miniature attitude and heading reference
system, Sensors Actuators A. 138 (2007) 411–420.
[135] S. Sun, X. Meng, L. Ji, Z. Huang, J. Wu, Adaptive Kalman Filter for Orientation Estimation in Micro-sensor Motion Capture, in:
Proceeding 14th Int. Conf. Inf. Fusion, 2011.
[136] A. Makni, H. Fourati, A.Y. Kibangou, Adaptive Kalman Filter for MEMS-IMU based Attitude Estimation under External Acceleration
and Parsimonious use of Gyroscopes, in: Proc. 2014 Eur. Control Conf., EUCA, 2014: pp. 1379–1384.
[137] A. Makni, H. Fourati, A.Y. Kibangou, A. Makni, H. Fourati, A.Y. Kibangou, E.A. Attitude, A. Makni, H. Fourati, A.Y. Kibangou,
Energy-aware Adaptive Attitude Estimation Under External Acceleration for Pedestrian Navigation, IEEE Trans. Instrum. Meas. 21
(2016) 1366–1375.
[138] H. Rehbinder, X. Hu, Drift-free attitude estimation for accelerated rigid bodies, Automatica. 40 (2004) 653–659.
[139] H. Rehbinder, X. Hu, Nonlinear pitch and roll estimation for walking robots, in: Proc. IEEE Int. Conf. Robot. Autom., 2000: pp. 2617–
2622.
[140] E.J. Lefferts, F.L. Markley, M.D. Shuster, Kalman filtering for spacecraft attitude estimation, J. Guid. Control. Dyn. 4 (1982) 417–429.
[141] M. Koifman, S.J. Merhav, Autonomously aided strapdown attitude reference system, J. Guid. Control. Dyn. 14 (1991) 1164–1172.
[142] J. Vaganay, M.J. Aldon, Attitude estimation for a vehicle using inertial sensors, Control Eng. Pract. 2 (1994) 281–287.
[143] J.L. Marins, X. Yun, E.R. Bachmann, R.B. Mcghee, M.J. Zyda, An Extended Kalman Filter for Quaternion-Based Orientation
Estimation Using, in: Proceeding 2001 IEEE/RSJ Int. Conf. Intell. Robot. Syst., 2001: pp. 2003–2011.
[144] X. Yun, C. Aparicio, E.R. Bachmann, R.B. McGhee, Implementation and Experimental Results of a Quaternion-Based Kalman Filter
for Human Body Motion Tracking, in: Proc. 2005 IEEE Int. Conf. Robot. Autom., 2005: pp. 317–322.
[145] C. Mazzà, M. Donati, J. McCamley, P. Picerno, A. Cappozzo, An optimized Kalman filter for the estimate of trunk orientation from
inertial sensors data during treadmill walking, Gait Posture. 35 (2012) 138–142.
[146] S. Zhang, K. Xiao, Q. Zhang, H. Zhang, Y. Liu, Improved Extended Kalman Fusion Method For Upper Limb Motion Estimation With
Inertial Sensors, in: Proc. Fourth Int. Conf. Intell. Control Inf. Process., 2013: pp. 587–593.
[147] A.M. Sabatini, Kalman-filter-based orientation determination using inertial/magnetic sensors: Observability analysis and performance
evaluation, Sensors. 11 (2011) 9182–9206.
[148] A.M. Sabatini, Variable-state-dimension Kalman-based filter for orientation determination using inertial and magnetic sensors, Sensors.
12 (2012) 8491–8506.
[149] Y. Xu, J. Guo, Y. Guan, EKF based Multiple-Mode Attitude Estimator for Quadrotor Using Inertial Measurement Unit, in: Proc. 36th
Chinese Control Conf., 2017: pp. 6191–6198.
[150] S.I. Roumeliotis, G.S. Sukhatme, G.A. Bekey, Smoother based 3D attitude estimation for mobile robot localization, Proc. IEEE Int.
Conf. Robot. Autom. 3 (1999) 1979–1986.
[151] M. Ahmadi, A. Khayatian, P. Karimaghaee, Orientation Estimation by Error-State Extended Kalman Filter in Quaternion Vector Space,
in: SICE Annu. Conf. 2007, 2007: pp. 60–67.
[152] R.G. Brown, P.Y.C. Hwang, Introduction to Random Signals and Applied Kalman Filtering, 2nd Editio, John Wiley & Sons, Inc., New
York, 1992.
[153] E. Foxlin, Inertial head-tracker sensor fusion by a complementary separate-bias Kalman filter, in: Proc. IEEE 1996 Virtual Real. Annu.
Int. Symp., 1996: pp. 185–194.
[154] P. Setoodeh, A. Khayatian, E. Farjah, Attitude Estimation By Separate-Bias Kalman Filter-Based Data Fusion, J. Navig. 57 (2004)
261–273.
[155] D. Gebre-egziabher, R.C. Hayward, J.D. Powell, Design of Multi-Sensor Attitude Determination Systems, IEEE Trans. Aerosp.
Electron. Syst. 40 (2004) 627–649.
[156] R. Zhang, L.M. Reindl, Pedestrian Motion based Inertial Sensor Fusion by a Modified Complementary Separate-bias Kalman Filter, in:
Proc. 2011 IEEE Sensors Appl. Symp., IEEE, 2011.
[157] Y. Fuke, E. Krotkov, Dead Reckoning for a Lunar Rover on Uneven Terrain, in: Proc. 1996 IEEE Inertnational Conf. Robot. Autom.,
1996: pp. 411–416.
[158] J.K. Hall, N.B. Knoebel, T.W. McLain, Quaternion Attitude Estimation for Miniature Air Vehicles Using a Multiplicative Extended
Kalman Filter, in: 2008 IEEE/ION Position, Locat. Navig. Symp., 2008: pp. 1230–1237.
[159] G.F. Welch, SCAAT: Incremental Tracking with Incomplete Information, University of North Carolina at Chapel Hill, 1996.
[160] C.H. Kang, C.G. Park, J.W. Song, An Adaptive Complementary Kalman Filter Using Fuzzy Logic for a Hybrid Head Tracker System,

38
IEEE Trans. Instrum. Meas. 65 (2016) 2163–2173.
[161] R. Kannan, Orientation Estimation Based on LKF Using Differential State Equation, IEEE Sens. J. 15 (2015) 6156–6163.
[162] H. Ren, P. Kazanzides, Investigation of Attitude Tracking Using an Integrated Inertial and Magnetic Navigation System for Hand-Held
Surgical Instruments, IEEE Trans. Mechatronics. 17 (2012) 210–217.
[163] H. Ren, P. Kazanzides, Hybrid Attitude Estimation for Laparoscopic Surgical Tools: A Preliminary Study, in: 31st Annu. Int. Conf.
IEEE EMBS, 2009: pp. 5583–5586.
[164] J. Musić, M. Cecić, V. Zanchi, Real-Time Body Orientation Estimation Based on Two-Layer Stochastic Filter Architecture,
Automatika. 51 (2010) 264–274.
[165] S. Sabatelli, M. Galgani, L. Fanucci, A. Rocchi, A Double-Stage Kalman Filter for Orientation Tracking With an Integrated Processor
in 9-D IMU, IEEE Trans. Instrum. Meas. 62 (2013) 590–598.
[166] A. Dang, V. Nguyen, DCM-based orientation estimation using cascade of two adaptive extended Kalman filters, in: Proceeding 2013
Int. Conf. Control. Autom. Inf. Sci., IEEE, 2013: pp. 152–157.
[167] C. Hide, T. Moore, M. Smith, Adaptive Kalman Filtering for Low-cost INS/GPS, J. Navig. 56 (2003) 143–152.
[168] C. Hu, Y. Chen, W. Chen, Adaptive Kalman filtering for DGPS positioning, in: Int. Symp. Kinematic Syst. Geod. Geomatics Navig.,
2001.
[169] Y.-S. Shu, S.-K. Park, H.-J. Kank, Y.-S. Ro, Attitude Estimation Adaptively Compensating External Acceleration, JSME Int. J. Ser. C
Mech. Syst. Mach. Elem. Manuf. 49 (2006) 172–179.
[170] S. Sun, X. Meng, L. Ji, J. Wu, W.-C. Wong, Adaptive Sensor Data Fusion in Motion Capture, in: Proc. 13th Int. Conf. Inf. Fusion,
IEEE, 2010.
[171] M.E. Johnson, T. Sathyan, Improved Orientation Estimation in Complex Environments Using Low-Cost Inertial Sensors, in: 14th Int.
Conf. Inf. Fusion, IEEE, 2011.
[172] X. Tong, Z. Li, G. Han, N. Liu, Y. Su, J. Ning, F. Yang, Adaptive EKF Based on HMM Recognizer for Attitude Estimation Using
MEMS MARG Sensors, IEEE Sens. J. 18 (2018) 3299–3310.
[173] F. Jamil, N. Iqbal, S. Ahmad, D.H. Kim, Toward accurate position estimation using learning to prediction algorithm in indoor
navigation, Sensors (Switzerland). 20 (2020) 1–27.
[174] R. Mehra, Approaches to adaptive filtering, IEEE Trans. Automat. Contr. 17 (1972) 693–698.
[175] F. Jiancheng, Y. Sheng, Study on Innovation Adaptive EKF for In-Flight Alignment of Airborne POS, IEEE Trans. Instrum. Meas. 60
(2011) 1378–1388.
[176] P.D. Hanlon, P.S. Maybeck, Multiple-model adaptive estimation using a residual correlation Kalman filter bank, IEEE Trans. Aerosp.
Electron. Syst. 36 (2000) 393–406.
[177] J. Li, K. Shu, H. Zhang, An efficient method for tri-axis magnetometer calibration, in: IEEE SmartWorld, Ubiquitous Intell. Comput.
Adv. Trust. Comput. Scalable Comput. Commun. Internet People Smart City Innov. SmartWorld/UIC/ATC/SCALCOM/IOP/SCI 2019,
IEEE, 2019: pp. 654–660.
[178] D. Gebre-Egziabher, G. Elkaim, J. Powell, B. Parkinson, A non-linear, two-step estimation algorithm for calibrating solid-state
strapdown magnetometers., in: 8th Int. Conf. Integr. Navig. Syst., 2001: pp. 290–297.
[179] G. Shi, X. Li, Z. Jiang, An improved yaw estimation algorithm for land vehicles using MARG sensors, Sensors. 18 (2018).
[180] S. Zhang, S. Yu, C. Liu, X. Yuan, S. Liu, A Dual-Linear Kalman Filter for Real-Time Orientation Determination System Using Low-
Cost MEMS Sensors, Sensors. 16 (2016).
[181] M. Carratù, S. Dello Iacono, M. Ferro, V. Paciello, A. Pietrosanto, Test Platform for Data Fusion Application in Indoor Positioning, in:
Sensors Microsystems, AISEM 2019, Lect. Notes Electr. Eng., Springer International Publishing, 2020: pp. 329–333.
[182] R. Bischoff, U. Huggenberger, E. Prassler, KUKA youBot - A mobile manipulator for research and education, Proc. - IEEE Int. Conf.
Robot. Autom. (2011) 1–4.
[183] F. Alam, Z. Zhaihe, H. Jiajia, A Comparative Analysis of Orientation Estimation Filters using MEMS based IMU, in: 2nd Int. Conf.
Res. Sci. Eng. Technol., 2014.
[184] T. Hamel, R. Mahony, Attitude estimation on SO(3) based on direct inertial measurements, in: Proc. 2006 IEEE Int. Conf. Robot.
Autom. ICRA 2006, 2006.
[185] S.A. Ludwig, K.D. Burnham, Comparison of Euler Estimate using Extended Kalman Filter, Madgwick and Mahony on Quadcopter
Flight Data, in: 2018 Int. Conf. Unmanned Aircr. Syst., 2018: pp. 1236–1241.
[186] G.H. Lee, M. Achtelik, F. Fraundorfer, M. Pollefeys, R. Siegwart, A benchmarking tool for MAV visual pose estimation, in: 2010 11th
Int. Conf. Control Autom. Robot. Vis., 2010.
[187] X. Li, Y. Wang, Evaluation of AHRS algorithms for Foot-Mounted Inertial-based Indoor Navigation Systems, GeoScape. 11 (2019)
48–63.
[188] M. Angermann, P. Robertson, T. Kemptner, M. Khider, A high precision reference data set for pedestrian navigation using foot-
mounted inertial sensors, in: Int. Conf. Indoor Position. Indoor Navig., 2010: pp. 1–6.
[189] J. Tosi, F. Taffoni, A. Hussain, D. Campolo, D. Formica, Methodology for the Evaluation of Magneto-Inertial Orientation Filters in
SO(3), in: 2019 II Work. Metrol. Ind. 4.0 IoT, 2019: pp. 323–328.
[190] D. Campolo, L. Schenato, L. Pi, X. Deng, E. Guglielmelli, Attitude estimation of a biologically inspired robotic housefly via
multimodal sensor fusion, Adv. Robot. 23 (2009) 955–977.
[191] H. Chen, M.C. Schall, N.B. Fethke, Measuring upper arm elevation using an inertial measurement unit: An exploration of sensor fusion
algorithms and gyroscope models, Appl. Ergon. 89 (2020) 103187.

39
[192] H. Chen, M.C. Schall, N. Fethke, Accuracy of angular displacements and velocities from inertial-based inclinometers, Appl. Ergon. 67
(2018) 151–161.
[193] J. Thienel, R.M. Sanner, A Coupled Nonlinear Spacecraft Attitude Controller and Observer With an Unknown Constant Gyro Bias and
Gyro Noise, IEEE Trans. Automat. Contr. 48 (2003) 2011–2015.
[194] K. Masuya, T. Sugihara, M. Yamamoto, Design of complementary filter for high-fidelity attitude estimation based on sensor dynamics
compensation with decoupled properties, Proc. IEEE Int. Conf. Robot. Autom. (2012) 606–611.
[195] L. Benziane, A. Benallegue, A.E. Hadri, A globally asymptotic attitude estimation using complementary filtering, in: 2012 IEEE Int.
Conf. Robot. Biomimetics, ROBIO 2012, IEEE, 2012: pp. 878–883.
[196] M. Cheguini, F. Ruiz, Real-time attitude estimation based on Gradient Descent algorithm, in: 2012 IEEE 4th Colomb. Work. Circuits
Syst., IEEE, Barranquilla, Colombia, 2012.
[197] M.S. Karunarathne, S.W. Ekanayake, P.N. Pathirana, An adaptive complementary filter for inertial sensor based data fusion to track
upper body motion, 7th Int. Conf. Inf. Autom. Sustain. ICIAfS 2014. (2014).
[198] V. Kubelka, M. Reinstein, Complementary filtering approach to orientation estimation using inertial sensors only, in: Proc. IEEE Int.
Conf. Robot. Autom., IEEE, 2012: pp. 599–605.
[199] M. Blachuta, R. Grygiel, R. Czyba, G. Szafranski, Attitude and heading reference system based on 3D complementary filter, in: 19th
Int. Conf. Methods Model. Autom. Robot. MMAR 2014, IEEE, 2014: pp. 851–856.
[200] R.S. McGinnis, S.M. Cain, S.P. Davidson, R.V. Vitali, S.G. McLean, N.C. Perkins, Validation of Complementary Filter Based IMU
Data Fusion for Tracking Torso Angle and Rifle Orientation, in: Int. Mech. Eng. Congr. Expo. 2014, 2014.
[201] X. Li, C. He, Y. Wang, Z. Li, Generalized complementary filter for attitude estimation based on vector observations and cross products,
in: 2015 IEEE Int. Conf. Inf. Autom., IEEE, 2015: pp. 1733–1737.
[202] S.Q. Liu, R. Zhu, A Complementary Filter Based on Multi-Sample Rotation Vector for Attitude Estimation, IEEE Sens. J. 18 (2018)
6686–6692.
[203] S. Wilson, H. Eberle, Y. Hayashi, S.O.H. Madgwick, A. Mcgregor, X. Jing, R. Vaidyanathan, Formulation of a new gradient descent
MARG orientation algorithm: Case study on robot teleoperation, Mech. Syst. Signal Process. 130 (2019) 183–200.
[204] L. Wöhle, M. Gebhard, SteadEye-Head—Improving MARG-Sensor Based Head Orientation Measurements Through Eye Tracking
Data, Sensors. (2020).
[205] M.L. Hoang, A. Pietrosanto, S. Dello Iacono, V. Paciello, Pre-processing technique for compass-less madgwick in heading estimation
for industry 4.0, in: IEEE Int. Instrum. Meas. Technol. Conf., 2020.
[206] J.A. Barraza Madrigal, J. Cantillo Negrete, R. Muñoz Guerrero, L.A. Contreras Rodríguez, H. Sossa, 3D Motion Tracking of the
Shoulder Joint with Respect to the Thorax Using MARG Sensors and Data Fusion Algorithm, Biocybern. Biomed. Eng. 40 (2020)
1205–1224.
[207] J. Justa, V. Šmídl, A. Hamáček, Fast AHRS filter for accelerometer, magnetometer, and gyroscope combination with separated sensor
corrections, Sensors (Switzerland). 20 (2020).
[208] Z. Peng, L. Guan, X. Xu, J. Zeng, Y. Gao, J. Yang, Real-Time Attitude Estimation for High-Speed UAV in High-Frequency
Environmental Dithering Based on AMCF, in: China Satell. Navig. Conf. 2020, 2020: pp. 89–98.
[209] S.O.H. Madgwick, S. Wilson, R. Turk, J. Burridge, C. Kapatos, R. Vaidyanathan, An Extended Complementary Filter for Full-Body
MARG Orientation Estimation, IEEE/ASME Trans. Mechatronics. 25 (2020) 2054–2064.
[210] M. Haid, J. Breitenbach, Low cost inertial orientation tracking with Kalman filter, Appl. Math. Comput. 153 (2004) 567–575.
[211] J. Bijker, W. Steyn, Control Engineering Practice Kalman filter configurations for a low-cost loosely integrated inertial navigation
system on an airship, Control Eng. Pract. 16 (2008) 1509–1518.
[212] P. Tome, O. Yalak, Improvement of Orientation Estimation in Pedestrian Navigation by Compensation of Magnetic Disturbances,
Navigation. 55 (2008) 179–190.
[213] G. Cooper, I. Sheret, L. Mcmillian, K. Siliverdis, N. Sha, D. Hodgins, L. Kenney, D. Howard, Inertial sensor-based knee
flexion/extension angle estimation, J. Biomech. 42 (2009) 2678–2685.
[214] C.M.N. Brigante, N. Abbate, A. Basile, A.C. Faulisi, S. Sessa, Towards Miniaturization of a MEMS-Based Wearable Motion Capture
System, IEEE Trans. Ind. Electron. 58 (2011) 3234–3241.
[215] A.R. Jiménez, F. Seco, J.C. Prieto, J. Guevara, Indoor Pedestrian Navigation using an INS/EKF framework for Yaw Drift Reduction
and a foot-mounted IMU, in: Proc. 7th Work. Positioning, Navig. Commun., 2010.
[216] J. Borestein, L. Ojeda, S. Kwanmuang, Heuristic reduction of gyro drift in IMU-based personnel tracking system, in: Procedding SPIE
Defense, Secur. Sens. Conf., Orlando, Florida, USA, 2009.
[217] S. Sabatelli, F. Sechi, L. Fanucci, A. Rocchi, A sensor fusion algorithm for an integrated angular position estimation with inertial
measurement units, in: Proceeding 2011 Des. Autom. Test Eur., 2011.
[218] S. Han, J. Wang, A Novel Method to Integrate IMU and Magnetometers in Attitude and Heading Reference Systems, J. Navig. 64
(2011) 727–738.
[219] R. Munguia, A. Grau, Attitude and Heading System based on EKF Total State Configuration, in: Proceeding 2011 IEEE Int. Symp. Ind.
Electron., IEEE, 2011: pp. 2147–2152.
[220] E. Edwan, J. Zhang, J. Zhou, O. Loffeld, Reduced DCM Based Attitude Estimation Using Low-cost IMU and Magnetometer Triad, in:
Proc. 2011 8th Work. Positioning, Navig. Commun., IEEE, 2011.
[221] M.H. Afzal, V. Renaudin, G. Lachapelle, Use of Earth’s Magnetic Field for Mitigating Gyroscope Errors Regardless of Magnetic
Perturbation, Sensors. 11 (2011) 11390–11414.

40
[222] J.K. Lee, E.J. Park, S.N. Robinovitch, Estimation of attitude and external acceleration using inertial sensor measurement during various
dynamic conditions, IEEE Trans. Instrum. Meas. 61 (2012) 2262–2273.
[223] M. Carminati, G. Ferrari, R. Grassetti, M. Sampietro, Real-Time Data Fusion and MEMS Sensors Fault Detection in an Aircraft
Emergency Attitude Unit Based on Kalman Filtering, IEEE Sens. J. 12 (2012) 2984–2992.
[224] Z. Zhang, X. Meng, J. Wu, Quaternion-Based Kalman Filter With Vector Selection for Accurate Orientation Tracking, IEEE Trans.
Instrum. Meas. 61 (2012) 2817–2824.
[225] W. Li, J. Wang, Effective Adaptive Kalman Filter for MEMS-IMU/Magnetometers Integrated Attitude and Heading Reference
Systems, J. Navig. 66 (2013) 99–113.
[226] Q. Zhang, X. Niu, H. Zhang, C. Shi, Algorithm Improvement of the Low-End GNSS/INS Systems for Land Vehicles Navigation,
Hindawi Publ. Corp. Math. Probl. Eng. (2013).
[227] M. Jin, J. Zhao, J. Jin, G. Yu, W. Li, The adaptive Kalman filter based on fuzzy logic for inertial motion capture system, Measurement.
49 (2014) 196–204.
[228] R. Munguía, A. Grau, A Practical Method for Implementing an Attitude and Heading Reference System, Int. J. Adv. Robot. Syst. 11
(2014).
[229] S. Zihajehzadeh, D. Loh, M. Lee, R. Hoskinson, E.J. Park, A Cascaded Two-Step Kalman Filter for Estimation of Human Body
Segment Orientation Using MEMS-IMU, in: Proc. 36th Annu. Int. Conf. IEEE Eng. Med. Biol. Soc., IEEE, 2014: pp. 6270–6273.
[230] C. Miao, Q. Zhang, J. Fang, Design of orientation estimation system by inertial and magnetic sensors, Proc. Inst. Mech. Eng. Part G J.
Aerosp. Eng. 228 (2014) 1105–1113.
[231] Y. Wang, A. Hussain, M. Soltani, A MEMS-based Adaptive AHRS for Marine Satellite Tracking Antenna, IFAC-PapersOnLine. 48
(2015) 121–126.
[232] L. Wang, Z. Zhang, P. Sun, Quaternion-based Kalman Filter for AHRS Using an Adaptive-step Gradient Descent Algorithm, Int. J.
Adv. Robot. Syst. 12 (2015).
[233] Z. Deng, G. Wang, Y. Hu, D. Wu, Heading Estimation for Indoor Pedestrian Navigation Using a Smartphone in the Pocket, Sensors. 15
(2015) 21518–21536.
[234] P. Neto, N. Mendes, A.P. Moreira, Kalman filter-based yaw angle estimation by fusing inertial and magnetic sensing: a case study
using low cost sensors, Sens. Rev. 35 (2015) 244–250.
[235] L.R. Lustosa, S. Pizziol, F. Defay, J.-M. Moschetta, An Error Model of a Complementary Filter for use in Bayesian Estimation - The
CF-EKF Filter, IFAC-PapersOnLine. 49 (2016) 444–449.
[236] R.B. Widodo, C. Wada, Attitude Estimation Using Kalman Filtering: External Acceleration Compensation Considerations, J. Sensors,
Hindawi. (2016).
[237] C.W. Kang, H.J. Kim, C.G. Park, A Human Motion Tracking Algorithm Using Adaptive EKF Based on Markov Chain, IEEE Sens. J.
16 (2016) 8953–8962.
[238] L. Chang, F. Zha, F. Qin, Indirect Kalman Filtering Based Attitude Estimation for Low-Cost Attitude and Heading Reference Systems,
IEEE/ASME Trans. Mechatronics. 22 (2017) 1850–1858.
[239] T. Zhang, Y. Liao, Attitude measure system based on extended Kalman filter for multi-rotors, Comput. Electron. Agric. 134 (2017) 19–
26.
[240] P. Bernal-Polo, H. Martinez-Barbera, Orientation Estimation by Means of Extended Kalman Filter, Quaternions, and Charts, J. Phys.
Agents. 8 (2017) 11–24.
[241] Y. Wang, M. Soltani, D.M.A. Hussain, An Attitude Heading and Reference System for Marine Satellite Tracking Antenna, IEEE Trans.
Ind. Electron. 64 (2017) 3095–3104.
[242] S. Šlajpah, R. Kamnik, M. Munih, Compensation for Magnetic Disturbances in Motion Estimation to Provide Feedback to Wearable
Robotic Systems, IEEE Trans. Neural Syst. Rehabil. Eng. 25 (2017) 2398–2406.
[243] M.B. Del Rosario, H. Khamis, P. Ngo, N.H. Lovell, S.J. Redmond, Computationally Efficient Adaptive Error-State Kalman Filter for
Attitude Estimation, IEEE Sens. J. 18 (2018) 9332–9342.
[244] P.J. Glavine, O. De Silva, G. Mann, R. Gosine, P. Philip, S. John, N.L. Ab, GPS Integrated Inertial Navigation System Using
Interactive Multiple Model Extended Kalman Filtering, in: Proc. 2018 Moratuwa Eng. Res. Conf., IEEE, 2018: pp. 414–419.
[245] Q. Yuan, E. Asadi, Q. Lu, G. Yang, I. Chen, Uncertainty-Based IMU Orientation Tracking Algorithm for Dynamic Motions,
IEEE/ASME Trans. Mechatronics. 24 (2019) 872–882.
[246] H. Ahmed, I. Ullah, U. Khan, M.B. Qureshi, S. Manzoor, N. Muhammad, M.U.S. Khan, R. Nawaz, Adaptive filtering on gps-aided
mems-imu for optimal estimation of ground vehicle trajectory, Sensors (Switzerland). 19 (2019) 1–18.
[247] A.P. Sage, G.W. Husa, Adaptive filtering with unknown prior statistics, IEEE Trans. Autom. Control. 7 (1969) 760–769.
[248] Q. Ge, T. Shao, C. Wen, R. Sun, Analysis on strong tracking filtering for linear dynamic systems, Math. Probl. Eng. 2015 (2015).
[249] H.T. Butt, M. Pancholi, M. Musahl, P. Murthy, M.A. Sanchez, D. Stricker, Inertial Motion Capture Using Adaptive Sensor Fusion and
Joint Angle Drift Correction, in: 22nd Int. Conf. Inf. Fusion, 2019.
[250] Q. Fan, H. Zhang, P. Pan, X. Zhuang, J. Jia, P. Zhang, Z. Zhao, G. Zhu, Y. Tang, Improved pedestrian dead reckoning based on a
robust adaptive Kalman filter for indoor inertial location system, Sensors (Switzerland). 19 (2019).
[251] Á. Odry, I. Kecskes, P. Sarcevic, Z. Vizvari, A. Toth, P. Odry, A Novel Fuzzy-Adaptive Extended Kalman Filter for Real-Time
Attitude Estimation of Mobile Robots, Sensors. (2020).
[252] K. Wen, K. Yu, Y. Li, S. Zhang, W. Zhang, A New Quaternion Kalman Filter Based Foot-Mounted IMU and UWB Tightly-Coupled
Method for Indoor Pedestrian Navigation, IEEE Trans. Veh. Technol. 69 (2020) 4340–4352.

41
[253] M.A. Javed, M. Tahir, K. Ali, Cascaded Kalman Filtering-Based Attitude and Gyro Bias Estimation With Efficient Compensation of
External Accelerations, IEEE Access. 8 (2020) 50022–50035.
[254] M. Ji, J. Liu, X. Xu, Y. Guo, Z. Lu, Improved Pedestrian Positioning with Inertial Sensor Based on Adaptive Gradient Descent and
Double-Constrained Extended Kalman Filter, Complexity, Hindawi. (2020).
[255] F. Farhangian, R. Landry Jr., Accuracy Improvement of Attitude Determination Systems Using EKF-Based Error Prediction Filter and
PI Controller, Sensors (Switzerland). 20 (2020) 4055.
[256] H. Du, W. Wang, C. Xu, R. Xiao, C. Sun, Real-time onboard 3D state estimation of an unmanned aerial vehicle in multi-environments
using multi-sensor data fusion, Sensors (Switzerland). 20 (2020).
[257] S. Park, J. Park, C.G. Park, Adaptive Attitude Estimation for Low-Cost MEMS IMU Using Ellipsoidal Method, IEEE Trans. Instrum.
Meas. 69 (2020) 7082–7091.

42
Tables

Table 1 Review of the previous literature surveys of the sensor fusion algorithms, including the tested algorithms, the gain
selection procedure, the used reference system for validation, the type experiments, and the algorithm(s) concluded to have the
best performance. Abbreviations used in the table are described in the table footnotes.
Sensor Fusion Filter
Study Reference Experiments (duration in seconds) Selected Filter
Algorithms Parameters
[24] PEKF, [25,26] EC Robot [182] Slow & fast motions of robotic arm (≤45s) PEKF
[10] [28–32] EC MCS Elbow, forearm & shoulder functional tasks (≤15s) Acc.: [28] Corr.: [31]
[33] [29,34–36] EC MCS Random motions (≤20), Treadmill walking (≤30s) [36]
[37] PEKF, KF EC MCS Random head motions (≤35s) PEKF
Static and dynamic tests in magnetically clean &
[38] [25,39–41] EC MCS [41]
disturbed environments (≤60s)
[42] SDI, [25,37] EC MCS Daily routine tasks (≤60s), Walking (≤180s) [37]
[183] [25,184] EC None Single axis rotations (≤250s) [184]
[39] [122,129] EC MCS Daily routine tasks (≤60s), Walking (≤180s) [129]
[43] [25,37,44], XKF OP MCS Slow, medium & fast random rotations (≤70s) Slow/medium: XKF, Fast: [37]
[185] [25,26,143] OP MCS Quadcopter motion adopted from [186] [26]
[45] [25,26,46–49] EC MCS Smartphone data during various activities (≤180s) [49]
[187] [25,26] EC MCS Various walking tests, adopted from [188] [25]
[189] [25,26,80,190] OP Synthetic - [25,26]
[191] [192], modified [127] EC MCS Material handling task (≤60s) Modified [127]
- Sensor Fusion Algorithms: PEKF: Proposed Extended Kalman Filter by the study; XKF: Xesne proprietary Kalman Filter; SDI: Strap-down integration.
- Filter Parameters: EC: Selecting the sensor fusion algorithm’s gain(s) by trial-and-error; OP: Selecting the sensor fusion algorithm’s gain(s) by a rigorous search.
- Reference: MCS: Gold-standard camera motion-capture system. Synthetic: used synthetic MIMU data.
- Selected Filter: Acc: Selected based on accuracy; Corr: Selected based on correlation.

43
Table 2 Review of the state-of-the-art sensor fusion algorithms with a Complimentary Filter (CF) structure, including linear CF (LCK) and
nonlinear CF (NCF). Abbreviations used in the table are described in the table footnotes.
Parametriz 𝒃𝑮 , 𝓪, 𝓭
Study Year Application Method Notes (gain tuning or thresholding, etc.)
ation compensation
[76] 1999 HMT GNA+CF Q - -
[193] 2003 STC NCF Q 𝑏𝐺 -
[184] 2006 AVTC NCF DCM 𝑏𝐺 -
[111] 2007 - NCF Q 𝑏𝐺 -
[26] 2008 RATC NCF DCM 𝑏𝐺 -
[94] 2008 AVTC NCF Q 𝑏𝐺 -
[114] 2009 MRTC LCK EA - 𝑘𝑝 ∝ exp(−| 𝐺 𝑔 − ‖𝑦𝐴 ‖|)
[109] 2009 - Sliding mode observer EA 𝑏𝐺 -
[77] 2009 HMT GNA+CF Q - 𝒶 & 𝒹 rejection with thresholding
[87] 2009 - Azimuth-level detector CF Q & DCM - -
[49] 2010 AVTC NCF Q 𝑏𝐺 -
[91] 2010 - NCF EA - -
[25] 2011 HMT GDA+CF Q - -
[75] 2011 - FQA+CF Q - -
[78] 2011 Bio-logging LMA+CF Q - -
[110] 2011 SVTC LCK EA - -
[100] 2011 - NCF DCM 𝑏𝐺 Time-varying gains
[92] 2011 MRTC NCF EA 𝑏𝐺 -
[93] 2011 SVTC NCF EA 𝑏𝐺 CF gain ∝ | 𝐺 𝑔 − ‖𝑦𝐴 ‖|
[96] 2012 STC NCF DCM - -
[99] 2012 AVTC NCF DCM 𝑏𝐺 & 𝑏𝐴 -
[194] 2012 - LCK DCM - Using inverse sensor models to widen the frequency range
[195] 2012 - TRIAD+LCK DCM 𝑏𝐺 -
[196] 2012 HMT GDA+CF Q 𝑏𝐺 -
[197] 2012 HMT LCK DCM - CF gain ∝ duration of the experiment

44
[198] 2012 MRTC NCF Q - -
[97] 2015 - TRIAD+NCK DCM - Adaptive gain tuning using fuzzy logic
[80] 2013 HMT GDA+CF Q 𝑏𝐺 𝒶 & 𝒹 rejection with thresholding
[79] 2014 HMT Two-layer LMA+CF Q - -
[41] 2011 HMT GDA+CF Q 𝑏𝐺 -
[199] 2014 AVTC PI controller+CF EA - -
[102] 2014 AVTC NCF DCM 𝑏𝐺 -
[98] 2014 HMT LCK EA - Adaptive gain tuning using fuzzy logic
[200] 2014 HMT LCK DCM 𝑏𝐺 -
Bicycle crank NCF + vertical
[89] 2015 Q - -
angle tracking acceleration update
𝑏𝐺 estimation by
[112] 2015 AVTC LCK DCM neural network -
PID controller
Smooth 2nd order sliding
[107] 2015 AVTC EA - -
mode observer
[88] 2015 HMT GDA+CF Q - 𝒹 rejection with thresholding
[73] 2015 AVTC AQA+CF Q - 𝒶 rejection using LERP or SLERP + adaptive gain tuning
[201] 2015 AVTC NCF DCM - -
HMT with
[81] 2016 Geometrically-intuitive CF Q - -
smartphone
[104] 2016 - Two-layer LCK Q - 𝒹 rejection with thresholding
[105] 2016 AVTC Nonlinear SVD+CF DCM - -
[113] 2016 RATC NCF DCM 𝑏𝐺 -
[82] 2017 - GDA+CF Q - 𝒹 rejection with thresholding
Combining output of multiple fixed-gain CFs with
[115] 2017 AVTC LCK EA 𝑏𝐺
MMAE
[116] 2017 AVTC NCF EA - Adaptive gain turning via PSO
[84] 2018 - GDA+CF Q - 𝒹 rejection with thresholding
[103] 2018 HMT LCK Q - 𝒶 & 𝒹 rejection with finite state machine
[85] 2018 RATC FQA+CF Q - Adaptive gain turning via GDA

45
Smooth 2nd order sliding
[108] 2018 AVTC EA 𝑏𝐺 -
mode observer
[101] 2018 AVTC Right invariant NCF Q & DCM 𝑏𝐺 CF gain ∝ system noise parameters
[106] 2018 AVTC LCK Q - CF gain ∝ ‖𝑦𝐺 ‖
[202] 2018 - MSRVA+CF Q 𝑏𝐺 -
[86] 2018 - GDA+CF Q - -
[83] 2019 AVTC GDA+CF Q - 𝒶 & 𝒹 rejection with thresholding
[90] 2019 - GDA+CF DCM 𝑏𝐺 -
Robot
[203] 2019 GDA+CF Q 𝑏𝐺 -
teleoperation
Identified reliable 𝑦𝐺 based on interquartile range of 𝑦𝐺
[95] 2019 AVTC NCF EA 𝑏𝐺
previous samples
[204] 2020 HMT GDA+CF Q - 𝒹 rejection
[205] 2020 HMT GDA+CF Q - 𝑦𝐺 rejection during “no motion” state
[206] 2020 HMT Two-layer LCK Q - -
[207] 2020 - LCF Q - -
[208] 2020 AVTC NCF Q - 𝒶 compensation by thresholding
[209] 2020 HMT Extended CF Q 𝑏𝐺 𝒹 rejection with thresholding
- Application: STC: Spacecraft (satellite) tracking/control; HMT: Human motion tracking; MRTC: Mobile robot tracking/control; RATC: Robotic arm tracking/control; AVTC: Aerial
vehicle tracking/control; SVTC: Surface vehicle tracking/control.
- Method: GNA: Gauss-Newton algorithm; GDA: Gradient descent algorithm; LMA: Levenberg-Marquardt algorithm; FQA: Factored quaternion algorithm; AQA: algebraic quaternion
algorithm; LERP: Linear intERPolation; SLERP: Spherical Linear intERPolation; SVD: Singular value decomposition; PSO: Particle Swarm Optimization; MSRVA: Multi-sample
rotation vector algorithm; MMAE: Multiple-model adaptive estimation.
- Parametrization: Q: Quaternion parametrization of orientation; EA: Euler angle parametrization of orientation; DCM: Direction cosine matrix parametrization of orientation.
- Compensation: 𝑏𝐺 : Gyroscope bias; 𝑏𝐴 : Accelerometer bias; 𝒶: external non-gravitational acceleration; 𝒹: magnetic disturbance.

46
Table 3 Review of the state-of-the-art sensor fusion algorithms with a Kalman Filter (KF) structure, including linear KF (LKF), extended KF
(EKF), and Complimentary KF (CKF). Abbreviations used in the table are described in the table footnotes.
Study Year Application Method State vector components Measurement-update Notes (gain tuning or thresholding, etc.)
[140] 1982 STC EKF [Q, 𝑏𝐺 ] [Line-of-sight attitude sensor] -
[Velocity, 𝜔, EA, altitude, [𝑦𝐺 , 𝑦𝑀 , airspeed sensor, barometric
[141] 1991 SVTC EKF -
wind gust velocity] altimeter]
[142] 1994 MRTC EKF [Attitude] [𝑦𝐴 , gyrometric attitude] -
[118] 1995 MRTC LKF [Yaw] [𝑦𝐺 ] -
𝒬 ∝ max(𝑦𝐺 )
[153] 1996 HMT CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝐺 , 𝑦𝑀 ]
ℛ ∝ slosh in fluid acc.
[157] 1996 MRTC CKF [ℯAttitude] [𝑦𝐴 ] -
[150] 1999 MRTC CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝐴 , sun sensor] -
[143] 2001 - EKF [Q, 𝜔
̂] [𝑦𝐺 , 𝑦𝐴 , 𝑦𝑀 ] -
[143] 2001 - GNA+EKF [Q, 𝜔
̂] [𝑞̂, 𝑦𝐺 ], 𝑞̂ from GNA(𝑦𝐴 ,𝑦𝑀 ) -
[GPS position, GPS
[Position, velocity, clock] errors
[8] 2002 SVTC LKF receiver’s clock range bias, -
from the algebraic GPS equations
𝑏𝐺 , 𝑏𝐴 ]
[119] 2003 - GNA+LKF [Q, 𝜔
̂] [𝑞̂, 𝑦𝐺 ], 𝑞̂ from GNA(𝑦𝐴 ,𝑦𝑀 ) -
[126] 2004 - LKF [Q, 𝜔
̂, 𝑏𝐺 ] [𝑦𝐺 , 𝑦𝐴 ] -
[28] 2004 HMT LKF [𝑔̂, 𝑚
̂] [𝑦𝐴 , 𝑦𝑀 ] -
Walking robot Ensemble of
[138] 2004 [DCM(3)] [𝑦𝐴 ] Switching between LKFs by |𝑦𝐴 |
motion tracking two LKFs
[47] 2004 - LKF [Q, 𝑏𝐺 ] [𝑦𝐴 ] or [𝑦𝑀 ] Adaptive 𝒬
[54] 2004 HMT CKF [ℯ𝑔̂, ℯ𝑏𝐴 ] [𝑦𝐴 ] -
[210] 2004 - LKF [1D angle, 𝜔] [1D-𝑦𝐺 ] -
[154] 2004 - CKF [ℯEA, ℯ𝑏𝐺 ] [EA from 𝑦𝐴 & 𝑦𝑀 ] -
[155] 2004 SVTC CKF [ℯEA, ℯ𝑏𝐺 ] OR [ℯQ, ℯ𝑏𝐺 ] [EA from 𝑦𝐴 & 𝑦𝑀 ] Switching 𝒬 & ℛ between two levels
[59] 2005 HMT CKF [ℯHelical angle/axis, ℯ𝑏𝐺 ] [Attitude from 𝑦𝐴 & 𝑦𝐺 ] -
[6] 2005 - CKF [ℯQ, ℯ𝑏𝐺 ] [Sun sensor] -
[ℯHelical angle/axis, ℯ𝑏𝐺 , [Attitude from 𝑦𝐴 & 𝑦𝐺 , magnetic
[52] 2005 HMT CKF -
ℯ𝒹] vector from 𝑦𝑀 & 𝑦𝐺 ]

47
[51] 2006 HMT EKF [Q, 𝑏𝐴 , 𝑏𝑀 ] [𝑦𝐴 , 𝑦𝑀 ] Switching ℛ between two levels
[29] 2006 HMT QUEST+EKF [Q, 𝜔
̂] [𝑞̂, 𝑦𝐺 ], 𝑞̂ from QUEST(𝑦𝐴 ,𝑦𝑀 ) -
[169] 2006 - EKF [Attitude, 𝜔
̂] [𝑦𝐴,𝑥 , 𝑦𝐴,𝑦 , 𝑦𝐺 ] Adaptive acc. measurement equation
[131] 2007 - LKF [𝑔̂, 𝑚
̂] [𝑦𝐴 , 𝑦𝑀 ] Abandoning past estimations by forget factor
[134] 2007 - LKF EA [EA from 𝑦𝐴 & 𝑦𝑀 ] Switching ℛ between two levels
[151] 2007 - CKF [ℯQ, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
[158] 2008 AVTC CKF [ℯQ] [ℯ𝑞̂ from 𝑦𝐴 & GPS] Tuning ℛ based on ‖𝑦𝐴 − 𝐺 𝑔‖
[211] 2008 SVTC CKF [ℯQ, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
𝒶 & 𝒹 rejection using vector selection + tuning 𝒬
[212] 2008 HMT EKF [ℯEA, 𝑏𝐺 , 𝑏𝐴 , 𝒹] [𝑦𝐴 , 𝑦𝑀 ]
&ℛ
Surgical tool
[163] 2009 EKF [Q, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
motion tracking
[122] 2009 HMT LKF [Q] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 using [123]] 𝒶 & 𝒹 rejection using vector selection
Augmented
[9] 2009 - [EA, 𝜔 ̂̇ , 𝑏𝐺 ]
̂, 𝜔 [𝑞̂, 𝑦𝐺 ], 𝑞̂ from 𝑦𝐴 & 𝑦𝑀 -
Reality
[Velocity, 𝑦̂𝐴 , 𝜔
̂, 𝑏𝐺 ,
[213] 2009 HMT EKF [𝑦𝐺 , 𝑦𝐴 ] -
Attitude]
[132] 2009 - LKF [𝑔̂, 𝑚
̂, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
Tuning ℛ using residual in acc. measurement-
[55] 2010 - CKF [ℯQ, 𝑏𝐺 , 𝑏𝐴 ] [𝑦𝐴 , 𝑦𝑀 ]
update
EKF+Particle
[164] 2010 HMT [EA, 𝑏𝐺 ] [EA from 𝑦𝐴 & 𝑦𝑀 ] -
Filter
[170] 2010 HMT CKF [ℯQ] [𝑦𝐴 , 𝑦𝑀 ] Tuning ℛ based on ‖𝑦𝐴 − 𝐺 𝑔‖ & ‖𝑦𝑀 − 𝐺 𝑚‖
𝒦 tuning by innovation-based adaptive
[175] 2011 - CKF [ℯEA, ℯvelocity, ℯ𝑏𝐺 , ℯ𝑏𝐴 ] Velocity from GPS
estimation technique
[124] 2011 - LKF [Q] [𝑞̂ from FQA(𝑦𝐴 ,𝑦𝑀 )] -
[135] 2011 HMT LKF [Q, 𝒶] [𝑦𝑀 , 𝑦𝐴 , ‖𝑦𝐴 ‖] Switching 𝒬 between two levels
[214] 2011 HMT EKF [Q, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
[ℯEA, ℯposition, ℯvelocity, [Yaw from 𝑦𝑀 , ℯ𝑏𝐺 , Velocity from
[215] 2011 HMT CKF Heuristic heading reduction [216]
ℯ𝑏𝐺 , 𝑏𝐴 ] ZUPT]
[147] 2011 HMT EKF [Q, 𝑏𝐺 , 𝒹] [𝑦𝐴 , 𝑦𝑀 ] -

48
[217] 2011 - EKF [Q] [𝑦𝐴 ] -
[218] 2011 - CKF [ℯQ, ℯ𝑏𝐺 , ℯ𝐾𝐺 ] [ℯEA from 𝑦𝐴 & 𝑦𝑀 ] -
[219] 2011 - EKF [Q, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] Tuning ℛ based on ‖𝑦𝐴 − 𝐺 𝑔‖
[220] 2011 - EKF [DCM(1), DCM(3), 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
[221] 2011 HMT CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝑀 ] Quasi-static geomagnetic field detection
Surgical tool Two LKFs + LKF1: [𝑔̂], LKF2: [𝑚
̂], LKF1: [𝑦𝐴 ], LKF2: [𝑦𝑀 ], EKF: [𝑞̂
[162] 2012 -
motion tracking EKF EKF: [Q, 𝑏𝐺 ] from 𝑦𝐴 & 𝑦𝑀 ]
[133] 2012 - LKF [𝑔̂, 𝑚
̂, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
[145] 2012 HMT EKF [Q, 𝑏𝐺 ] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] Switching ℛ a piecewise linear function
[222] 2012 HMT/ SVTC LKF [𝑔̂] [𝑦𝐴 ] -
[223] 2012 AVTC EKF [DCM(3), 𝜔
̂, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝐺 ] Switching ℛ between two levels
[224] 2012 HMT LKF [Q] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] 𝒶 & 𝒹 rejection using vector selection
Variable state EKF1: [Q, 𝑏𝐺 , 𝒹]
[148] 2012 - [𝑦𝐴 , 𝑦𝐺 ] -
EKF EKF2: [Q, 𝑏𝐺 , 𝒹, 𝒹̇]
[225] 2013 - CKF [ℯEA, ℯ𝑏𝐺 , 𝐾𝐺 ] [ℯEA from 𝑦𝐴 & 𝑦𝑀 ] Switching ℛ between three levels
EKF 1: [DCM(3), 𝒶]
[166] 2013 - EKF EKF1: [𝑦𝐴 ], EKF2: [𝑦𝑀 ] Resetting 𝒶 and 𝒹 by thresholding
EKF 2: [DCM(1), 𝒹]
[ℯposition, ℯvelocity, ℯEA,
[226] 2013 SVTC CKF [Position, velocity] from GNSS -
𝑏𝐺 , 𝑏𝐴 ]
[146] 2013 HMT EKF [Q, 𝑏𝐴 , 𝑏𝑀 ] [𝑦𝐴 , 𝑦𝑀 ] Switching ℛ between two levels
[165] 2013 - EKF [Q] [𝑦𝐴 , 𝑦𝑀 ] -
[136] 2014 - LKF [Q] [𝑦𝐴 , 𝑦𝑀 ] Tuning ℛ based on acc. residuals
Two-layer Innovation-based adaptive estimation tuning of ℛ
[227] 2014 HMT EKF1: [𝑔̂], EKF2: [Yaw] EKF1: [𝑦𝐴 ], EKF2: [𝑦𝑀 ]
LKF using fuzzy logic
HMT with
[46] 2014 EKF [Q, 𝑏𝐺 , 𝒶] [𝑦𝐴 , 𝑦𝑀 ] -
smartphones
[228] 2014 AVTC EKF [Q, 𝜔
̂, 𝑏𝐺 ] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] -
Two-layer EKF1: [DCM(3)], EKF2:
[229] 2014 HMT EKF1: [𝑦𝐴 ], EKF2: [𝑦𝑀 ] Switching ℛ between two levels
LKF [DCM(1)]
[230] 2014 AVTC CKF [ℯEA, ℯ𝑏𝐺 , ℯ𝒶, ℯ𝒹] [𝑦𝐴 , 𝑦𝑀 ] 𝒫𝐴 ∝ 𝐸𝑟𝑟𝑜𝑟(𝒶), 𝒫𝑀 ∝ 𝐸𝑟𝑟𝑜𝑟(𝒹)
[231] 2015 Marine Satellite LKF [Q] [𝑦𝐴 , 𝑦𝑀 ] 𝒬 = 𝛼𝒬0 , ℛ = (1 − 𝛼)ℛ0

49
Tracking
Antenna
[127] 2015 HMT LKF [𝑔̂, 𝒶] [𝑦𝐴 ] -
[129] 2015 HMT LKF+LKF LKF1: [𝑔̂, 𝒶], LKF2: [𝑚
̂, 𝒹] LKF1: [𝑦𝐴 ], LKF2: [𝑦𝑀 ] -
[232] 2015 AVTC GDA+LKF [Q] [𝑦𝐴 ] GDA step size ∝ 𝑦𝐺 𝑇𝑠
[233] 2015 HMT EKF [Q] [𝑦𝐴 ] Switching ℛ between three levels
[234] 2015 HMT LKF [ℯYaw, ℯ𝐾𝐺 , 𝑏𝐺 ] [Yaw from 𝑦𝑀 ] -
[161] 2015 HMT LKF [ℯEA, ℯ𝑏𝐺 ] - -
Constrained-
[14] 2015 - ̂, DCM, 𝒶, 𝒹]
[𝜔 [𝑦𝐺 , 𝑦𝐴 , 𝑦𝑀 ] -
LKF
Constrained-
[15] 2015 - [DCM(3), 𝑏𝐺,𝑘 ] [𝑦𝐴 ] Tuning ℛ based on ‖𝑦𝐴 ‖
EKF
[137] 2016 - LKF [Q] [𝑦𝐴 , 𝑦𝑀 ] Tuning ℛ based on accelerometer residuals
[ℯposition, ℯvelocity, ℯEA,
[235] 2016 AVTC CF-EKF [Position, velocity] from GNSS -
ℯ𝑏𝐺 , ℯ𝑏𝐴 , ℯ𝒹]
[74] 2016 - LKF [Q] [Position, velocity] from GNSS -
Two-layer
[180] 2016 HMT/ SVTC EKF 1: [𝑔̂], EKF 2: [𝑚
̂] EKF1: [𝑦𝐴 ], EKF2: [𝑦𝑀 ] Switching ℛ between three levels
LKF
[160] 2016 HMT CKF [ℯEA, ℯ𝑏𝐺 ] [EA from vision system] Adaptive fading factor by fuzzy logic
[236] 2016 HMT LKF [EA, 𝑏𝐺 ] [Attitude from 𝑦𝐴 ] ℛ = ℛ𝑛𝑜𝑚𝑖𝑛𝑎𝑙 + ‖𝒶‖2
[237] 2016 HMT CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] Tuning ℛ using Hidden Markov Model
[149] 2017 AVTC EKF [Q] [𝑦𝐴 ] -
[238] 2017 SVTC CKF [EA, 𝑏𝐺 ] [𝑦𝐴 , velocity from GPS] -
[239] 2017 AVTC EKF [Q, 𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
[125] 2017 AVTC LKF [Q] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] -
[40] 2017 SVTC LKF [Q] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] 𝒹 rejection using vector selection
Two-layer
[130] 2017 - LKF1: [𝑔̂], LKF2: [𝑚
̂] LKF1: [𝑦𝐴 ], LKF2: [𝑦𝑀 ] ℛ1 ∝ ‖𝒶‖2 , ℛ2 ∝ ‖𝒹‖2
LKF
[240] 2017 - EKF [Q, 𝜔
̂] [𝑦𝐴 , 𝑦𝐺 ] -
Marine satellite
[241] 2017 tracking CKF [ℯQ, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] -
antennas

50
Wearable
[242] 2017 EKF ̂, 𝜔̇ , Q, Q̇, Q̈, 𝒹, 𝒹̇]
[𝜔 [𝑦𝐺 , 𝑦𝐴 , 𝑦𝑀 ] -
robotic systems
HMT with
[120] 2018 GDA+LKF [Q] [𝑞̂], 𝑞̂ from GDA(𝑦𝐴 ,𝑦𝑀 ) -
smartphones
[172] 2018 - CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝐺 ] Tuning ℛ using Hidden Markov Model
[71] 2018 - LKF [Q] [𝑞̂ from 𝑦𝐴 & 𝑦𝑀 ] -
ℛ = ℛ𝑛𝑜𝑚𝑖𝑛𝑎𝑙 + 𝛼𝑘
[121] 2018 - GDA+LKF [Q] [𝑞̂], 𝑞̂ from GDA(𝑦𝐴 ,𝑦𝑀 )
𝒹 rejection using vector selection
Two-layer CKF1: [ℯAttitude], CKF2: CKF1: [ℯ𝑞̂ from 𝑦𝐴 ], CKF2: [ℯ𝑞̂
[243] 2018 HMT Tuning ℛ by variances of errors
CKF [ℯYaw] from 𝑦𝑀 ]
[Position, velocity, Q, 𝑏𝐺 ,
[244] 2018 SVTC EKF [Position from GPS, 𝑞̂ from 𝑦𝐴 ] -
𝑏𝐴 ]
2
ℛ𝐴 ∝ exp(‖𝑦𝐴 − 𝐺 𝑔‖ )
[179] 2018 SVTC Two-step LKF [Q, 𝑏𝐺 ] Step1: [𝑦𝐴 , 𝑦𝐺,𝑧 ], Step2: [𝑦𝑀 ] 2
𝐺
ℛ𝑀 ∝ exp(‖𝑦𝑀 − 𝑚‖ )
[128] 2019 - LKF+LKF LKF1: [𝑔̂], LKF2: [𝑚
̂] LKF1: [𝑦𝐴 ], LKF2: [𝑦𝑀 ] -
[245] 2019 HMT CKF [ℯEA, 𝑏𝐺 , 𝒹] [𝑦𝐴 , 𝑦𝑀 ]
Combined Sage-Husa [247] and Strong Tracking
[246] 2019 SVTC CKF [ℯEA, ℯvelocity, ℯposition] [Velocity, Position] from GPS
[248] KFs
𝒬 ∝ 𝑐𝑜𝑠𝑛𝑡 + max(‖𝜔‖ − 𝑡ℎ𝑟, 0)
[249] 2019 HMT EKF [Q] [𝑦𝐴 , 𝑦𝑀 ] ℛ𝐴 ∝ 𝑐𝑜𝑠𝑛𝑡 + max(|‖𝑦𝐴 ‖ − ‖ 𝐺 𝑔‖| − 𝑡ℎ𝑟, 0)
ℛ𝑀 ∝ 𝑐𝑜𝑠𝑛𝑡 + max(|‖𝑦𝑀 ‖ − ‖ 𝐺 𝑚‖| − 𝑡ℎ𝑟, 0)
[250] 2020 HMT EKF [EA] [EA] obtained by NCF Innovation-based adaptive estimation tuning of ℛ
[251] 2020 MRTC EKF [Q, 𝑏𝐺 ] [𝑞̂], 𝑞̂ from TRIAD(𝑦𝐴 ,𝑦𝑀 ) Tuning ℛ by fuzzy logic
[252] 2020 HMT LKF [Q] [𝑦𝐴 ] -
LKF1: [DCM(3)], LKF2: 2
[253] 2020 HMT Cascade LKF
[𝑏𝐺 ]
LKF1: [𝑦𝐴 ], LKF2: [𝑦𝐴 ] ℛ𝐴 ∝ ‖𝒶‖2 + ‖𝑦𝐴 − 𝐺 𝑔‖

[254] 2020 HMT GDA+EKF [Q, 𝑏𝐺 ] [𝑞̂], 𝑞̂ from GDA(𝑦𝐴 ,𝑦𝑀 ) GDA step size ∝ ‖𝑦𝐺 ‖, 𝑒𝑟𝑟𝑜𝑟(𝑦𝐴 , 𝑦𝑀 )
Post-EKF error reduction by proportional-integral
[255] 2020 SVTC EKF [Q] [𝑦𝐴 , 𝑦𝑀 ]
controller
[Position, velocity, Q, 𝑏𝐺 ,
[256] 2020 AVTC EKF [Position, velocity, 𝑦𝐴 ] -
𝑏𝐴 , LiDAR bias]

51
[257] 2020 RATC CKF [ℯEA, ℯ𝑏𝐺 ] [𝑦𝐴 , 𝑦𝑀 ] Adaptive tuning of ℛ using ellipsoidal method
- Application: STC: Spacecraft (satellite) tracking/control; HMT: Human motion tracking; MRTC: Mobile robot tracking/control; RATC: Robotic arm tracking/control; AVTC: Aerial vehicle
tracking/control; SVTC: Surface vehicle tracking/control; GNSS: Global Navigation Satellite System.
- Method: GNA: Gauss-Newton algorithm; GDA: Gradient descent algorithm; FQA: Factored quaternion algorithm, QUEST: QUaternion ESTimator; TRIAD: TRi-axial Attitude
Determination; ZUPT: Zero-Velocity-Update strategy.
- State vector components: Q: Quaternion parametrization of orientation; EA: Euler angle parametrization of orientation; DCM: Direction cosine matrix parametrization of orientation.
- Measurement-update: 𝑏𝐺 : Gyroscope bias; 𝑏𝐴 : Accelerometer bias; 𝑏𝑀 : Magnetometer bias; 𝒶: external non-gravitational acceleration; 𝒹: magnetic disturbance; 𝑞̂: Orientation used in
measurement-update of KF; 𝜔 ̂: Estimated angular velocity; 𝑔̂: Estimated gravitational acceleration; 𝑚
̂ : Estimated geomagnetic field.
- Notes: 𝒬: System model covariance matrix; ℛ: Measurement model covariance matrix; 𝒫: State error covariance matrix; 𝒦: Kalman filter gain.

52
Figures

Fig. 1 Flowchart and frequency response of a Complimentary Filter (CF). (a) The general

structure of a CF; (b) Flowchart of the CF with low-pass filter transfer function defined as

𝒞(𝑠) 𝑘
ℒ(𝑠) = 𝒞(𝑠)+𝑠 where 𝒞(𝑠) = 𝑘𝑃 + 𝑠𝐼 , and 𝑘𝑃 and 𝑘𝐼 are the proportional and integral gains,

respectively; (c) Frequency response of the proportional CF, (d) Frequency response of the

proportional-integral CF.

Fig. 2 Flowchart of a general (a) Linear Kalman Filter and (b) Extended Kalman Filter. 𝓍 is the

state vector, 𝓏 is the measurement vector. 𝒫 is the state error covariance matrix. ℱ and 𝒻(∙) are

the state transition matrix and equation, respectively. ℋ and 𝒽(∙) are the measurement prediction

matrix and equation, respectively. 𝒬 and ℛ are the system and measurement model covariance

matrices, respectively. 𝒦 is the Kalman gain.

Fig. 3 Flowchart of a general sensor fusion algorithm (SFA) containing offline calibration of

sensors, vector selection for imperfect measurement rejection, and adaptive gain tuning.

53
Fig. 1

54
Fig. 2

55
Fig. 3

56

You might also like