Next Article in Journal
Estimation of the Path-Loss Exponent by Bayesian Filtering Method
Next Article in Special Issue
General Purpose Low-Level Reinforcement Learning Control for Multi-Axis Rotor Aerial Vehicles
Previous Article in Journal
Multiple Receptive Field Network (MRF-Net) for Autonomous Underwater Vehicle Fishing Net Detection Using Forward-Looking Sonar Images
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Cascaded Complementary Filter Architecture for Sensor Fusion in Attitude Estimation

1
Symbiosis Institute of Technology, Symbiosis International (Deemed University), Pune 412115, India
2
CSIR-Central Scientific Instruments Organisation, Chandigarh 160030, India
3
Symbiosis Centre for Applied Artificial Intelligence, Symbiosis International (Deemed University), Pune 412115, India
4
Department of Computer Science, College of Engineering, Brunel University, London UB8 3PH, UK
*
Author to whom correspondence should be addressed.
Sensors 2021, 21(6), 1937; https://doi.org/10.3390/s21061937
Submission received: 19 January 2021 / Revised: 5 March 2021 / Accepted: 5 March 2021 / Published: 10 March 2021

Abstract

:
Attitude estimation is the process of computing the orientation angles of an object with respect to a fixed frame of reference. Gyroscope, accelerometer, and magnetometer are some of the fundamental sensors used in attitude estimation. The orientation angles computed from these sensors are combined using the sensor fusion methodologies to obtain accurate estimates. The complementary filter is one of the widely adopted techniques whose performance is highly dependent on the appropriate selection of its gain parameters. This paper presents a novel cascaded architecture of the complementary filter that employs a nonlinear and linear version of the complementary filter within one framework. The nonlinear version is used to correct the gyroscope bias, while the linear version estimates the attitude angle. The significant advantage of the proposed architecture is its independence of the filter parameters, thereby avoiding tuning the filter’s gain parameters. The proposed architecture does not require any mathematical modeling of the system and is computationally inexpensive. The proposed methodology is applied to the real-world datasets, and the estimation results were found to be promising compared to the other state-of-the-art algorithms.

1. Introduction

Micro-electro-mechanical systems (MEMS)-based attitude estimation is an active area of research in navigation systems. It is the art of computing the orientation of an object in three-dimensional space. Accurate orientation estimation plays a critical role in aerospace and robotics application, unmanned vehicle navigation, health care applications, safety devices of older people, etc. [1]. Different modalities, such as inertial sensors, LIDARs and cameras, have been used in attitude-estimation applications. Amongst these, inertial sensors are the most popular sensors used for attitude estimation.
Sensor fusion is the process of combining information from two or more sensors to obtain improved accuracy and specific inferences that could not be possible using a single sensor alone [2]. The use of multiple sensors helps with overall performance improvement, increases temporal and special coverages, and adds to the robustness of the system [3]. Inertial sensors (gyroscope and accelerometer) and the magnetometer are used to estimate attitude in all three axes. When integrated to obtain the orientation angle, the angular rates from the gyroscope start drifting over time. This restricts the gyroscope to use as a standalone measurement unit for attitude estimation. A tri-axial accelerometer provides additional information regarding the roll and pitch angles of the x and y axis, respectively. Since it measures the acceleration in terms of the earth’s gravity, the axis pointing towards the earth’s center cannot observe the change in its measurements, and hence the yaw angle cannot be estimated using an accelerometer. A magnetometer measures the strength of the magnetic field present in its vicinity, and is used to estimate Yaw angle. Tseng et al. [4] simulated the dynamic responses of inertial sensors and showed that the gyroscope possesses a better high-frequency response, whereas the accelerometer and magnetometer have a good low-frequency response. This complementary nature of these sensors makes them the right choice for sensor fusion applications.
Several techniques have been reported in the literature for performing sensor fusion, including the Kalman filter (KF) and its variants, like the extended Kalman filter (EKF), particle filter, unscented Kalman filter (UKF), complementary filter and its variants, etc. A nonlinear version of KF, i.e., EKF, is a widely adopted attitude estimation technique and is still popular amongst researchers [5,6]. Active research is ongoing to incorporate techniques like machine learning [7], statistical methods [8] and fuzzy logic [9,10] to improve the estimation accuracy of KF. However, KF requires the system’s mathematical model to be known correctly and is dependent on the system noise parameters. Additionally, KF involves complex inverse matrix operations, increasing its computational complexity [11]. Although several advancements have been made in KF, they are still computationally complex in nature [12]. The stochastic techniques are generally computationally intensive, requiring parameter tuning, and also suffer from divergence due to numerical errors [13]. Alternatively, the deterministic approaches to obtaining the system estimates involve an iterative process and require more computational time.
In order to overcome some of the issues with KF, a complementary filter (CF) has been developed by researchers. CF does not require any knowledge of the system environment or the complex system model [12]. The complementary filter has evolved from a linear to non-linear version, as the linear CF (LCF) was unable to estimate the bias online, leading to inaccurate estimation [14]. The non-linear CF (NCF) is based on the proportional-integral controller, in which the proportional part manages the frequency changeover between two sensors and the integral part handles the gyroscope bias. Mahony et al. [15], in 2008, proposed a CF version in a special orthogonal group and Madgwick et al. [16], in 2011, proposed a gradient-descent-based CF for attitude estimation. These algorithms gained huge popularity amongst researchers owing to their robustness and accuracy. Santos et al. [17] demonstrated that, in quadcopters, the non-linear techniques work better compared to the linear ones. Wu et al. [12] developed a computationally lighter and gradient-descent-based framework of linear complementary filter for attitude estimation. Non-linear CF is used to fuse inertial sensor measurements with the camera [18], depicting its prospects for other applications. A four-parameter-based hybrid complementary filter was proposed by Young in 2020 [19] for attitude estimation application, and is a computationally inexpensive version of Madgwick’s filter.
While incorporating CF in an application, the gain parameters of the CF need to be appropriately tuned. The manual selection of these parameters is popular amongst researchers. Fuzzy adaptive versions of the CF are also employed widely for accurate estimations [20,21]. Silva et al. [22] proposed a Kalman-filter-like methodology by considering the system noise characteristics for CF parameter tuning. Some of our earlier works aimed to estimate these gain parameters automatically using optimization techniques [23] and a probabilistic multiple-model-based approach [24]. The deviation observed in the measured magnetic field and gravity vector was considered for tuning CF parameters by Yi et al. [25]. Although multiple adaptive techniques have been developed, they still require prior knowledge of the range of gain parameters.
Alternatively, Foxlin et al. [26] incorporated the Kalman filter and the complementary filter in a unified structure known as the Complementary- Kalman filter (CKF). Like KF, error models were considered while designing CKF, and a feedback mechanism is employed for estimating error. In CKF, a Kalman filter is used to estimate the gyroscope bias, and the complementary filter is then used for attitude estimation. Zhang and Reindl proposed a complementary separate-bias Kalman Filter to determine pedestrian motions [27]. Gyroscope and camera measurements are fused using CKF in [28], wherein a fuzzy adaptive mechanism provides robustness to the filter against varying system dynamics. Li et al. [29] developed a CKF-based indoor navigation system, where the errors in position, velocity, and direction are tracked using the fusion of ultra-wideband sensor and IMU. Yang and Sun [30] proposed a fuzzy-logic-based adaptive CKF technique for the accurate and safe landing of the UAVs. Although CKF was claimed to be a robust estimator, the presence of the KF adds to the computational complexity of the algorithm and involves multiple-matrix inverse operations. Therefore, here, the substitution of KF in CKF with a non-linear complementary filter is proposed, as well as applying the linear complementary filter for attitude estimation. This novel technique of cascaded complementary filter is inspired by the architecture of CKF, and is experimented on the attitude estimation task. Although NCF and LCF’s performance depends on their parameters, the proposed cascaded structure does not require any parameter tuning, which is generally manual, tedious, and time-consuming. This means the proposed cascaded structure has a lower computation cost. The contributions of this paper are as follows:
  • A novel architecture of cascaded complementary filter for attitude estimation;
  • The proposed cascaded complementary filter does not require any specific parameter tuning;
  • It is computationally inexpensive, as it does not require any system modeling or involve any complex matrix operations;
  • Unlike traditional KF, LCF, and NCF, where attitude angles are considered as estimation states, here the error value is estimated using NCF, and then attitude angles are computed using LCF.
The feasibility of the proposed cascaded architecture is verified by comparing its results with the reference attitude parameters obtained from commercially available Attitude Heading and Reference System (AHRS) modules. As the inertial sensors contain time-varying bias, longer duration data are also used to validate the efficacy of the proposed framework. The obtained results are compared with the existing KF- and CF-based fusion algorithms discussed in the literature. The remaining part of the paper is organized as follows: Section 2 presents the theoretical and mathematical background for CF and CKF, required for attitude estimation. The proposed cascaded complementary filter structure is presented in Section 3. The analysis of the proposed algorithm and its benchmarking with other algorithms are presented in Section 4. Section 5 concludes the paper and provides the future direction of this work.

2. Mathematical Preliminaries

The orientation of a moving object is the angle made by the vehicle’s body frame with respect to the world reference frame. The three different rotation angles for the x, y and z axes (roll, pitch, and yaw) are generally denoted using the Greek letters phi ( ϕ ), theta ( θ ) and psi ( ψ ), respectively. The angular velocities measured by a gyroscope in the body reference frame for the x, y, and z axes are generally denoted as p, q, and r, respectively. The relation between the time derivatives of the Euler angles and gyroscope measurements in the body frame is represented as Equations (1)–(3) [31]:
ϕ g ˙   =   p   +   q sin ϕ tan θ   +   r cos ϕ tan θ
θ g ˙   =   q cos ϕ     r sin θ
ψ g ˙   =   p   +   q sin ϕ sec θ   +   r cos ϕ sec θ
The attitude angles of roll, pitch, and yaw can be obtained by integrating the time derivatives from Equation (1) to Equations (3), respectively. However, this integration process accumulates the integration error, causing a drift in estimation. Hence, the orientation computed from the accelerometer and magnetometer is essential for accurate attitude estimation. The roll ( ϕ ) and pitch ( θ ) angles from the accelerometer can be computed using Equations (4) and (5), respectively [32], as
ϕ a   =   tan 1 a y a z
θ a   =   tan 1 a x a y sin ϕ   +   a z cos ϕ
Here, a x , a y and a z are the accelerometer measurements along the x, y, and z axes, respectively. Similarly, if m x , m y and m z are the magnetometer measurements along x, y and z axes, respectively, then the yaw ( ψ m ) angle using magnetometer can be computed as
ψ m   =   tan 1 m z sin ϕ     m y cos ϕ m x cos θ   +   m y sin θ sin ϕ   +   m z sin θ cos ϕ
In order to overcome the errors and to take advantage of the complementary nature of motion characteristics, sensor fusion techniques are used to estimate accurate attitude. The following section discusses the theoretical details of the complementary filter and complementary Kalman filter in detail.

2.1. Complementary Filter

The complementary filter is a computationally inexpensive sensor fusion technique that consists of a low-pass and a high-pass filter. In this application of inertial-sensor-based attitude estimation, the gyroscope’s dynamic motion characteristics are complementary to that of the accelerometer and magnetometer. The basic structure of CF shown in Figure 1 consists of two inputs, x 1 and x 2 , which are low- and high-frequency noise-corrupted versions of the signal x. The complementary filter output x ^ is given in Equation (7).
x ^   =   x 1 G ( s )   +   x 2 G ¯ ( s )
Here, G ( s ) represents the transfer function for the low-pass filter, whereas G ¯ ( s ) is the transfer function of the high-pass filter, such that G ( s )   +   G ¯ ( s )   =   1 .
Using this structure of CF for attitude estimation, gyroscope estimates, x g ˙ ( ϕ ˙ θ ˙ ψ ˙ ) , are applied at x 1 , and accelerometer/magnetometer estimates, x a ( ϕ a θ a ψ m ) are applied at x 2 . Analytically, the attitude estimated using a linear CF structure, x ^ , is given as
x ^   =   α x g ˙ d t   +   1     α x a
The parameter α [ 0 1 ] determines the weighing factor for gyroscope and accelerometer/magnetometer estimates. The LCF estimate, in terms of transfer function, can be represented as in Equation (9).
x ^   =   τ s 1   +   τ s x g ˙ s   +   1 1   +   τ s x a
Here, the individual transfer functions of LPF and HPF can be represented as:
L C F _ H P F   =   τ s 1   +   τ s ; L C F _ L P F   =   1 1   +   τ s
Using these equations, the amplitude and phase plots are plotted together (Figure 2) to indicate the amplitude and phase plot of linear CF. It can be observed that the combined magnitude is unity (0 dB) and phase shift is 0 degrees over the complete frequency range.
However, this CF structure fails to estimate the gyroscope bias online and is unable to estimate the accurate attitude angles in the dynamic motion conditions [15].
The nonlinear complementary filter (NCF) shown in Figure 3 uses the proportional-integral (PI) controller to reduce the steady-state error and compensate for the varying gyroscope bias. K P and K I indicates the proportional and integral gain, respectively, and the system estimate, x ^ is represented as
x ^   =   1 s x ˙ g e   +   K P   +   K I s x a     x ^
x ^   =   s 2 s 2   +   K P s   +   K I x ˙ g e s   +   K P s   +   K I s 2   +   K P s   +   K I x a
On similar lines of LCF, the estimate of the NCF is represented in terms of two transfer functions (Equation (11)), and amplitude and phase plots are plotted as shown in Figure 4. Unity magnitude and zero phase shift are observable over the complete frequency range.
Although CF is gaining popularity due to its simplicity, the Kalman filter is still a widely used technique for attitude estimation and has undergone several improvements. The KF technique comprises two steps, wherein the first step states are predicted using the process model, and, in the second step, the states are corrected using the measurement model. The Kalman filter works in a prediction–correction mechanism to yield a near-optimal state estimate under the assumption of Gaussian noise. Recent developments have shown that the filter performs well, even in the presence of colored noise [33]. The mathematical formulation of Extended Kalman Filter used in the attitude estimation is presented in Appendix A.
Another set of algorithms that takes advantage of both the complementary filter and the Kalman filter architecture has been proposed in the literature and is referred as Complementary Kalman Filter (CKF) [26,34], discussed in the following subsection.

2.2. Complementary Kalman Filter

Complementary Kalman Filter is a combination of Kalman filter and complementary filter in a single framework. In CKF, the Kalman filter is used for gyroscope error compensation, and the CF is then used for attitude computation. This provides the advantage of a rapid dynamic response from the system. In CKF, the error in measurements is generally considered as the system state for the KF, and the gyroscope bias is estimated. Unlike KF, the integration of the gyro rates is performed outside the KF block, in the “attitude computation” block. Figure 5 shows the block-level structure of CKF. A detailed description of the CKF can be found in [26]. Although the KF and CKF are robust state estimators, they involve a large number of complex matrix-inverse operations, limiting their applications for low-cost systems. Additionally, the KF model needs to be appropriately formulated, considering the noise characteristics, before it is employed in any application. Contrary to KF, CF is a simple structured formulation that does not involve any complex mathematical operations. It does not consider any prior knowledge about noise characteristics or require system modeling.
This paper proposes a two-stage complementary filter for attitude estimation. The NCF structure is used for the gyroscope error compensation, and a simple structured LCF is applied for attitude computation. The detailed, proposed gyro-error-compensated, attitude-estimation methodology is discussed in the following section.

3. Proposed Methodology

The proposed two-stage complementary filter, hereafter termed Cascaded Complementary Filter (CCF), is a combination of linear and non-linear versions of CF (NCF). The PI-controller-based NCF estimates the gyroscope bias, which is used to correct the gyroscope estimates. The corrected gyroscope measurements are then fused with the accelerometer/magnetometer measurement using linear CF. The proposed architecture of the cascaded complementary filter is shown in Figure 6. Here, x ˙ g e represent the angular rates obtained through gyroscope measurements, x a represent the attitude computed using accelerometer/magnetometer readings, and α , K P and K I are the filter constants.
The error value between the CCF-estimated attitude x ^ and accelerometer/magnetometer-based attitude x a is used in gyroscope error compensation. The gyroscope error ( δ ω ) can be represented as
δ ω   =   ( K P   +   K I s ) ( x a     x ^ )
Using the final value theorem, Hong, in [35], proved that the error in estimated attitude angle ( δ x ^ ) converges to error in the attitude angle estimated using an accelerometer, that is, lim t i m e δ x ^   =   δ x a . Hence, the error between attitude estimated from CCF and attitude computed from the accelerometer/magnetometer is applied to the PI controller for gyroscope-bias error computation. This error value is then subtracted from the angular rates obtained using a gyroscope to obtain the error-compensated gyroscope measurements given by Equation (13).
x g ˙   =   x ˙ g e     δ ω
These angular rates are then integrated to obtain the attitude angles x g   =   ( ϕ g , θ g , ψ g ) . In the proposed architecture of CCF, the linear complementary filter is further used to combine the attitude angles from the gyroscope and those computed from the accelerometer/magnetometer. The attitude parameters x ^   =   ( ϕ ^ , θ ^ , ψ ^ ) obtained using the proposed CCF architecture can be mathematically represented as
x ^   =   α 1 s x ˙ g e   +   K P   +   K I s x a     x ^   +   ( 1     α ) x a
Figure 7 represents the block diagram of the usage of linear and non-linear CF in the cascaded complementary filter structure. Although the linear and non-linear versions of CF are widely applied for attitude estimation, their primary disadvantage is the need for tuning filter parameters.
The CCF estimate Equation (14) can be rearranged in the form of two transfer functions (of LPF and HPF) as
x ^   =   α s 2 s 2   +   α K P s   +   α K I x ˙ g e s   +   ( 1 α ) s 2   +   α K P s   +   α K I s 2   +   α K P s   +   α K I x a
Using these equations, the combined plots showing the amplitude and frequency responses are plotted and are shown in Figure 8. The amplitude and plase plots shown for LCF, NCF and CCF clearly indicate the all-pass filtering nature of these filters. The low-pass filtering of the accelerometer measurements and high-pass filtering of the gyroscope measurements together help to estimate the attitude angles in all the motion frequencies.
Several techniques, such as fuzzy logic, neural networks, and optimization techniques, have been used in the literature for tuning filter parameters. The proposed CCF algorithm compensates for the gyroscope bias using a non-linear complementary filter, and then uses these bias-compensated gyroscope measurements in a linear complementary filter for attitude estimation. Contrary to the NCF, accelerometer/magnetometer measurements are used for gyroscope bias error correction, as well as for attitude angle computation. In the proposed architecture, the gyroscope error is compensated using NCF and the attitude angle is computed using LCF. The following section provides experimental proof, and the validation of the proposed CCF architecture as compared to other existing algorithms.

4. Results and Discussion

The cascaded complementary filter algorithm is applied to different datasets collected from commercially available AHRS modules. Relatively accurate Xsens MTI-G and comparatively cheaper Arducopter’s APM navigation modules are used for data logging and benchmarking. The Arducopter module estimates the attitude angles based on CF [36], while the Xsens module has an internal KF for attitude estimation [37]. These modules have been given random motions independently in different directions to generate datasets and offline analysis. The data logged using these modules consist of raw sensor measurements along with their estimated attitude angles. Since these modules are commercially available, their estimates are obtained from the algorithm embedded in those platforms and are considered here as the reference attitude for comparison purposes. The raw sensor measurements are applied as an input to the proposed CCF algorithm, and the attitude angle computed through CCF is compared with the reference attitude angles. The root mean square error (RMSE) between the reference attitude angle x r e f e r e n c e and the estimated attitude angle x m e a s u r e is computed for quantitative comparison of the proposed algorithm, and is represented as
R M S E   =   1 n k = 0 n x r e f e r e n c e ( k )     x m e a s u r e ( k ) 2
The overall experimentation is carried out in two broad categories. In the first category, the effect of varying CCF parameters is investigated and compared against the traditional non-linear complementary filter (NCF). In the second category, the proposed CCF results are benchmarked with other state-of-the-art schemes in terms of accuracy and computational complexity. These experiments are carried out using MATLAB 2020b, installed on a computer system with 4 GB RAM.
In the first category of investigations, the performance of CCF is analyzed by varying the gain parameters K P & K I , while maintaining a constant value of α = 0.7 . The RMSE error values are compared with the error values obtained for NCF with the same values of K P and K I . Table 1 and Table 2 compare the average RMSEs obtained when K P and K I parameters are varied for a dataset captured through Xsens and Arducopter sensor modules, respectively. The average RMSE value in each row refers to the mean of the RMSEs obtained for ϕ , θ , and ψ . If R M S E ϕ , R M S E θ and R M S E ψ represents the RMSE obtained in roll, pitch and yaw, respectively, then the average RMSE ( R M S E a v e r a g e ) value is computed as
R M S E a v e r a g e   =   R M S E ϕ   +   R M S E θ   +   R M S E ψ 3
The datasets logged using the Xsens module are referred to as X1, X2, X3, and X4, whereas those logged from the Arducopter module are referred to as A1, A2, A3, and A4.
Table 1 and Table 2 present the NCF and CCF performance on eight different datasets, while the gain parameters are varied. It can be observed that, for NCF, the error values vary significantly with different combinations of K P and K I parameters, whereas, for CCF, these error values are almost constant. The average RMSE value for CCF is approximately equal to its mean value and is also approximately equal to the RMSE value obtained while NCF is tuned adaptively with the LSE-aided NCF (LSCF) [38]. However, in the case of NCF, the RMSEs vary drastically from their mean value as well as from the RMSEs obtained from LSCF. It was, therefore, concluded that the variation in K P and K I affects the NCF performance significantly, whereas the proposed CCF framework is independent of this. A nearly zero standard deviation in the case of CCF, and a non-zero standard deviation for NCF, further supports the claims regarding CCF. Our previous work, presented in [38], aims at the adaptive tuning of the NCF using the Least Square Estimation (LSE) technique. In the current research work, an attempt is also made to tune the parameters of CCF, i.e., K P , K I , and α , using the LSE technique. The obtained values for these parameters using LSE techniques are shown in Table 3. The obtained RMSEs for the LSE-tuned CCF are mentioned in the last rows of Table 1 and Table 2. It can be observed that the average RMSE values for CCF without adaptation are similar to those obtained with adaptation for all the datasets. This depicts that the inclusion of LSE does not provide any additional advantage, and the change in CCF filter parameters is inessential. It can also be noted that the mean RMSE obtained for CCF is approximately equal to the RMSE obtained when NCF is adaptively tuned using the LSE technique [38].
Further analyses were carried out to investigate the effect of varying the α parameter while the K P and K I parameters are kept constant. Figure 9 plots the RMSE values for two different combinations of K P and K I on the A3 dataset, while the α value is varied from 0.1 to 0.9. This graphical comparison for the average RMSEs proves the independence of CCF performance from the value of the α parameter.
It can be noted from Table 1 and Table 2 and Figure 9 that the variation in the computed RMSE is negligible with the parameters’ variation in the case of the proposed CCF architecture. In the case of LCF, the estimation accuracy is highly affected, as there is no provision for the computation of gyroscope bias in runtime. In the case of CCF, firstly, the gyroscope bias error is compensated using the NCF structure, and then the attitude angles are estimated using the LCF structure. Further experimentation has been carried out to compare the accuracy of CCF estimation results with respect to the other existing state-of-the-art attitude estimation algorithms.
In the second category of experimentation, the proposed CCF algorithm is benchmarked against other state-estimation algorithms. The attitude estimated using the CCF scheme is compared with a Kalman-filter-based cascaded structure (CKF) and the Extended Kalman Filter (EKF), LSE-aided adaptive NCF (LSCF), traditional non-linear complementary filter (NCF), and popular non-linear complementary filter algorithms, namely, the Mahony filter and Madgwick filter. In these comparisons, the parameter values chosen for investigation were K P   =   25 , K I   =   0.1 and α = 0.7.
Figure 10 and Figure 11 show the comparison of RMSEs of ϕ , θ and ψ of the proposed CCF structure with other estimation algorithms on Xsens and Arducopter datasets, respectively. In both these figures, the x-axis represents different datasets, and the y-axis represents the average RMSE value in radians. It can be observed that the RMSE values obtained using the CCF scheme are lesser than/comparable to the other techniques. In this experimentation, the filter parameters of NCF, CKF, and EKF were selected based on the trial-and-error method. The parameters for the Mahony and Madgwick filters were also tuned manually. Table 4 indicates the different parameter values used in this paper for simulation. The MATLAB implementation for Mahony and Madgwick filter algorithms was obtained from [39]. It is nontable that the LSCF [38] was the adaptive algorithm used to tune the filter parameters. Even though the parameters for the CCF algorithm were chosen randomly, its performance was almost equivalent to the adaptive algorithm.
The computation time for the CKF and EKF algorithms was much higher than that of the CCF algorithm, which is due to the complex matrix operations involved in the KF structure. Figure 12 compares the relative time required by CCF, CKF, and EKF algorithms on different datasets. In this comparison, the algorithm was simulated on the same dataset 20 times, and the average simulation time was considered for comparison. The simulation time depends on the computer system parameters on which the simulations are carried out. Normalized simulation time is shown in Figure 12 for appropriate comparison.
For purposes of brevity, the attitude estimation results obtained using the CCF scheme are shown in Figure 13 and Figure 14 for Xsens and Arducopter datasets, respectively. These figures compare the proposed CCF algorithm to the attitude angles obtained using the gyroscope and accelerometer/magnetometer alone for the logged dataset. In these figures, red curves represent the reference attitude estimates from the AHRS modules. The attitude computed using gyroscope alone is represented using green dotted curves, whereas blue-color lines represent the attitude computed using an accelerometer/magnetometer alone. The attitude estimated using the proposed CCF architecture is represented using the black dashed curves. The estimates through EKF and NCF are also shown for reference purposes.
It can be observed that the attitude estimated using the gyroscope alone starts to drift after a certain time interval. The estimates from the accelerometer/magnetometer contain the flicker noise. However, the proposed sensor-fusion-based CCF algorithm overcome these issues and precisely tracked the reference trajectory obtained from the commercial AHRS modules. It can be observed that the attitude computed using a gyroscope alone started to drift after a certain time interval, while that from the accelerometer/magnetometer contained flicker noise. A sensor fusion architecture could overcome these individual sensor issues and help to obtain a reliable estimate. In this case, the estimation results of CCF during the initial period of motion (specifically in the case of Arducopter dataset) is not as good as the attitude computed using the accelerometer alone; it cannot be generalized for the complete sequence. During initial time instants, the sensor bias is small and grows over time, while the fusion algorithms take some time to compensate the errors, thereby modifying the weights for different sensor outputs. The results show that the sensor fusion outperforms the individual sensor estimates.
Inertial sensors have time-varying bias characteristics, which also drift over time. Hence, further experimentation was carried out to investigate the performance of the proposed CCF over a dataset of longer-range duration. Simulated data were generated for almost 2 h using a sensor fusion and tracking toolbox, available in MatLab. Sensors were modeled, and random time-varying noise was added to sensor measurements. The proposed CCF was applied to this longer-duration dataset, and the results are presented in Figure 15. The Figure also shows the estimation results obtained through EKF, CKF and NCF. The red curves represent the reference/ideal attitude angles generated through Matlab; the EKF estimation is shown in blue, NCF estimates are indicated using a dotted green line and the estimation of CCF is shown with black dashed lines. It can be observed that, even though the measurements have significant noise, the proposed framework can compensate for the noise and provide accurate estimations. To indicate the estimation error over the time, RMSE is computed for every 1000 s and plotted in Figure 16 for indication and reference purposes. The results also depict that the proposed CCF algorithm provides a feasible solution to the attitude estimation, without incorporating any complex adaptive-tuning algorithm. Through all the experimentation carried out, it is observed that, although the proposed CCF does not show any improvement in accuracy compared to the existing algorithms, it is computationally fast. Additionally, the structure does not require any tuning parameter and is reliable alternative to attitude estimation tasks for low-cost applications. The main contribution of this paper is its arrival at a filter with minimal or no tuning parameters, unlike other filters, whose performance largely depends on different filter parameters.

5. Conclusions

The paper presents a novel, cascaded, complementary, filter-based sensor fusion for attitude estimation applications. The system considers data obtained from an accelerometer, gyroscope, and magnetometer for sensor fusion. The proposed structure cascades the linear and non-linear version of a complementary filter and is inspired by the cascaded Kalman filter architectures. The proportional integral-based, non-linear version of CF is used to compute the gyroscope bias online, and the linear version is used to estimate the attitude parameters. The proposed architecture does not require any tuning (manual or adaptive) for the selection of filter parameters and is computationally inexpensive. The CCF technique has been compared with other existing algorithms and an adaptive variant of complementary filters to prove its efficacy. It is found that this scheme has a similar accuracy to the other schemes, with a very low deviation in changing gain parameters, demonstrating its success on different datasets. Even though the proposed framework does not provide an improvement in the estimation accuracy, it is a suitable alternative to attitude estimation, without any dependency on tuning filter parameters.
In future, it is planned to validate the algorithm using accurate rotary tables in a controlled environment. Accurate estimation of attitude angles is essential in the velocity and position estimation systems. In the future, it is also planned to extend the work to velocity and position estimation, where the CF structures can also be compared with full EKF frameworks. The work would also aim to explore artificial-intelligence-based reinforcement learning techniques for performing sensor fusion.

Author Contributions

Conceptualization, P.N.; methodology, P.N. and S.P.; software, P.N.; validation, P.N. and S.P.; formal analysis, P.N. and S.P.; investigation, P.N. and S.P.; resources, S.P.; writing—original draft preparation, P.N. and S.P.; writing—review and editing, P.N., S.P., R.W. and K.K.; visualization, P.N.; supervision, S.P., R.W., K.K., G.G. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available on request from the authors.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Attitude Estimation Using Extended Kalman Filter

Kalman filter is a two step process involving prediction and correction. The non linear version of the KF is termed as Extended Kalman Filter. The standard model of EKF is described by two state equations namely Process model and measurement model. In the application of attitude estimation, these models can be described using attitude computed using gyroscope and accelerometer/magnetometer sensors.
x ˙ g   =   ϕ ˙ g θ ˙ g ψ ˙ g   +   w ϕ w θ w ψ
z   =   ϕ a θ a ψ m   +   v ϕ v θ v ψ
x represents the current state; w and v represent the noises in process model and measurement model respectively. They are generally assumed to be white Gaussian noises with covariance Q and R respectively. The mathematical formulation of EKF is presented below:
State estimate Prediction:
x ^ ˙ k | k 1   =   f p k 1 , q k 1 , r k 1 , ϕ ^ k 1 , θ ^ k 1 , ψ ^ k 1
x ^ k | k 1   =   x ^ k 1 | k 1   +   x ^ ˙ k | k 1 d t
Here, function f depicts the non linearity map given by
f   =   p k 1   +   q sin ϕ tan θ   +   r cos ϕ tan θ q cos ϕ     r sin ϕ q sin ϕ sec θ   +   r cos ϕ sec θ
Error Covariance Prediction:
P k | k 1   =   F k 1 P k 1 | k 1   +   P k 1 | k 1 F k 1 T   +   Q
F is the jacobian matrix of f which can be computed as F   =   d f d x | x = x ^ .
Kalman Gain:
K k   =   P k | k 1 H T H P k | k 1 H T   +   R 1
State update:
x ^ k | k   =   x ^ k | k 1   +   K k z k     H x ^ k | k 1
Error Covariance update:
P k | k   =   I K k H P k | k 1

References

  1. Baldi, T.L.; Farina, F.; Garulli, A.; Giannitrapani, A.; Prattichizzo, D. Upper Body Pose Estimation Using Wearable Inertial Sensors and Multiplicative Kalman Filter. IEEE Sens. J. 2019, 20, 492–500. [Google Scholar] [CrossRef] [Green Version]
  2. White Franklin, E. Data Fusion Lexicon; Technical Report; Joint Directors of Laboratories Workshop: Washington, DC, USA, 1991. [Google Scholar]
  3. Elkaim, G.H.; Gebre-Egziabher, D. Attitude estimation for small, low-cost UAVs a tutorial approach. In Multisensor Attitude Estimation: Fundamental Concepts and Applications; CRC Press: Boca Raton, FL, USA, 2016; pp. 331–350. [Google Scholar]
  4. Tseng, S.P.; Li, W.L.; Sheng, C.Y.; Hsu, J.W.; Chen, C.S. Motion and attitude estimation using inertial measurements with complementary filter. In Proceedings of the 2011 8th Asian Control Conference (ASCC), Kaohsiung, Taiwan, 15–18 May 2011; pp. 863–868. [Google Scholar]
  5. Gośliński, J.; Giernacki, W.; Królikowski, A. A Nonlinear Filter for Efficient Attitude Estimation of Unmanned Aerial Vehicle (UAV). J. Intell. Robot. Syst. 2019, 95, 1079–1095. [Google Scholar] [CrossRef] [Green Version]
  6. Dong, M.; Yao, G.; Li, J.; Zhang, L. Calibration of Low Cost IMU’s Inertial Sensors for Improved Attitude Estimation. J. Intell. Robot. Syst. 2020, 100, 1015–1029. [Google Scholar] [CrossRef]
  7. Al-Sharman, M.K.; Zweiri, Y.; Jaradat, M.A.K.; Al-Husari, R.; Gan, D.; Seneviratne, L.D. Deep-learning-based neural network training for state estimation enhancement: Application to attitude estimation. IEEE Trans. Instrum. Meas. 2019, 69, 24–34. [Google Scholar] [CrossRef] [Green Version]
  8. Kottath, R.; Poddar, S.; Das, A.; Kumar, V. Window based multiple model adaptive estimation for navigational framework. Aerosp. Sci. Technol. 2016, 50, 88–95. [Google Scholar] [CrossRef]
  9. Assad, A.; Khalaf, W.; Chouaib, I. Novel Adaptive Fuzzy Extended Kalman Filter for Attitude Estimation in Gps-Denied Environment. Gyroscopy Navig. 2019, 10, 131–146. [Google Scholar] [CrossRef]
  10. Odry, Á.; Kecskes, I.; Sarcevic, P.; Vizvari, Z.; Toth, A.; Odry, P. A Novel Fuzzy-Adaptive Extended Kalman Filter for Real-Time Attitude Estimation of Mobile Robots. Sensors 2020, 20, 803. [Google Scholar] [CrossRef] [Green Version]
  11. Shen, X.; Yu, D.; Chang, R.; Jin, W. A Nonlinear Observer for Attitude Estimation of Vehicle-mounted Satcom-on-the-Move. IEEE Sens. J. 2019, 19, 8057–8066. [Google Scholar] [CrossRef]
  12. Wu, J.; Zhou, Z.; Fourati, H.; Li, R.; Liu, M. Generalized Linear Quaternion Complementary Filter for Attitude Estimation From Multisensor Observations: An Optimization Approach. IEEE Trans. Autom. Sci. Eng. 2019, 16, 1330–1343. [Google Scholar] [CrossRef]
  13. Fourati, H.; Manamanni, N.; Afilal, L.; Handrich, Y. Complementary observer for body segments motion capturing by inertial and magnetic sensors. IEEE/ASME Trans. Mechatron. 2012, 19, 149–157. [Google Scholar] [CrossRef] [Green Version]
  14. Euston, M.; Coote, P.; Mahony, R.; Kim, J.; Hamel, T. A complementary filter for attitude estimation of a fixed-wing UAV. In Proceedings of the 2008 IEEE/RSJ International Conference on Intelligent Robots and Systems, Nice, France, 22–26 September 2008; pp. 340–345. [Google Scholar]
  15. Mahony, R.; Hamel, T.; Pflimlin, J.M. Nonlinear complementary filters on the special orthogonal group. IEEE Trans. Autom. Control 2008, 53, 1203–1217. [Google Scholar] [CrossRef] [Green Version]
  16. Madgwick, S.O.; Harrison, A.J.; Vaidyanathan, R. Estimation of IMU and MARG orientation using a gradient descent algorithm. In Proceedings of the 2011 IEEE International Conference on Rehabilitation Robotics, Zurich, Switzerland, 29 June–1 July 2011; pp. 1–7. [Google Scholar]
  17. Santos, M.; Pereira, V.; Ribeiro, A.; Silva, M.; do Carmo, M.; Vidal, V.; Honório, L.; Cerqueira, A.; Oliveira, E. Simulation and comparison between a linear and nonlinear technique applied to altitude control in quadcopters. In Proceedings of the 2017 18th International Carpathian Control Conference (ICCC), Sinaia, Romania, 28–31 May 2017; pp. 234–239. [Google Scholar]
  18. Zheng, L.; Zhan, X.; Zhang, X. Nonlinear Complementary Filter for Attitude Estimation by Fusing Inertial Sensors and a Camera. Sensors 2020, 20, 6752. [Google Scholar] [CrossRef]
  19. Suh, Y.S. Attitude Estimation Using Inertial and Magnetic Sensors Based on Hybrid Four-Parameter Complementary Filter. IEEE Trans. Instrum. Meas. 2020, 69, 5149–5156. [Google Scholar] [CrossRef]
  20. Zhang, X.; Xiao, W. A Fuzzy Tuned and Second Estimator of the Optimal Quaternion Complementary Filter for Human Motion Measurement with Inertial and Magnetic Sensors. Sensors 2018, 18, 3517. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  21. Hwang, S.H.; Kim, D.S. Hybrid Helmet Attitude Tracking System using Adaptive Complementary Filter. Measurement 2019, 146, 186–194. [Google Scholar] [CrossRef]
  22. De Silva, O.; Mann, G.K.; Gosine, R.G. The Right Invariant Nonlinear Complementary Filter for Low Cost Attitude and Heading Estimation of Platforms. J. Dyn. Syst. Meas. Control 2018, 140, 011011. [Google Scholar] [CrossRef]
  23. Poddar, S.; Narkhede, P.; Kumar, V.; Kumar, A. PSO aided adaptive complementary filter for attitude estimation. J. Intell. Robot. Syst. 2017, 87, 531–543. [Google Scholar] [CrossRef]
  24. Kottath, R.; Narkhede, P.; Kumar, V.; Karar, V.; Poddar, S. Multiple model adaptive complementary filter for attitude estimation. Aerosp. Sci. Technol. 2017, 69, 574–581. [Google Scholar] [CrossRef]
  25. Yi, C.; Ma, J.; Guo, H.; Han, J.; Gao, H.; Jiang, F.; Yang, C. Estimating three-dimensional body orientation based on an improved complementary filter for human motion tracking. Sensors 2018, 18, 3765. [Google Scholar] [CrossRef] [Green Version]
  26. Foxlin, E. Inertial head-tracker sensor fusion by a complementary separate-bias Kalman filter. In Proceedings of the IEEE 1996 Virtual Reality Annual International Symposium, Santa Clara, CA, USA, 30 March–3 April 1996; pp. 185–194. [Google Scholar]
  27. Zhang, R.; Reindl, L.M. Pedestrian motion based inertial sensor fusion by a modified complementary separate-bias Kalman filter. In Proceedings of the 2011 IEEE Sensors Applications Symposium, San Antonio, TX, USA, 22–24 February 2011; pp. 209–213. [Google Scholar]
  28. Kang, C.H.; Park, C.G.; Song, J.W. An adaptive complementary kalman filter using fuzzy logic for a hybrid head tracker system. IEEE Trans. Instrum. Meas. 2016, 65, 2163–2173. [Google Scholar] [CrossRef]
  29. Li, X.; Wang, Y.; Khoshelham, K. A robust and adaptive complementary Kalman filter based on Mahalanobis distance for ultra wideband/inertial measurement unit fusion positioning. Sensors 2018, 18, 3435. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  30. Yang, Q.; Sun, L. A fuzzy complementary Kalman filter based on visual and IMU data for UAV landing. Optik 2018, 173, 279–291. [Google Scholar] [CrossRef]
  31. Titterton, D.; Weston, J.L.; Weston, J. Strapdown Inertial Navigation Technology; IET: Herts, UK, 2004; Volume 17. [Google Scholar]
  32. Tian, Y.; Wei, H.; Tan, J. An adaptive-gain complementary filter for real-time human motion tracking with MARG sensors in free-living environments. IEEE Trans. Neural Syst. Rehabil. Eng. 2012, 21, 254–264. [Google Scholar] [CrossRef]
  33. Da Silva, M.F.; Honorio, L.M.; Marcato, A.L.M.; Vidal, V.F.; Santos, M.F. Unmanned aerial vehicle for transmission line inspection using an extended Kalman filter with colored electromagnetic interference. ISA Trans. 2020, 100, 322–333. [Google Scholar] [CrossRef]
  34. Contreras, A.M.; Hajiyev, C. Integration of Baro-Inertial-GPS Altimeter via Complementary Kalman Filter. In Advances in Sustainable Aviation; Springer: Cham, Switzerland, 2018; pp. 251–267. [Google Scholar]
  35. Hong, S.K. Fuzzy logic based closed-loop strapdown attitude system for unmanned aerial vehicle (UAV). Sens. Actuators A Phys. 2003, 107, 109–118. [Google Scholar] [CrossRef]
  36. Lim, H.; Park, J.; Lee, D.; Kim, H.J. Build your own quadrotor: Open-source projects on unmanned aerial vehicles. IEEE Robot. Autom. Mag. 2012, 19, 33–45. [Google Scholar] [CrossRef]
  37. Xsens. Keep An Accurate Heading in a Magnetically Disturbed Environment. Available online: https://www.xsens.com/blog/six-ways-to-keep-an-accurate-heading-in-a-magnetically-disturbed-environment (accessed on 15 September 2019).
  38. Narkhede, P.; Joseph Raj, A.N.; Kumar, V.; Karar, V.; Poddar, S. Least square estimation-based adaptive complimentary filter for attitude estimation. Trans. Inst. Meas. Control 2019, 41, 235–245. [Google Scholar] [CrossRef]
  39. Madgwick, S. Open Source IMU and AHRS Algorithms. Available online: http://www.x-io.co.uk/open-source-imu-and-ahrs-algorithms/ (accessed on 15 February 2016).
Figure 1. Basic structure of Complementary Filter.
Figure 1. Basic structure of Complementary Filter.
Sensors 21 01937 g001
Figure 2. Amplitude and Phase plot for LCF.
Figure 2. Amplitude and Phase plot for LCF.
Sensors 21 01937 g002
Figure 3. Nonlinear structure of Complementary Filter.
Figure 3. Nonlinear structure of Complementary Filter.
Sensors 21 01937 g003
Figure 4. Amplitude and Phase plot for NCF.
Figure 4. Amplitude and Phase plot for NCF.
Sensors 21 01937 g004
Figure 5. Complementary Kalman Filter.
Figure 5. Complementary Kalman Filter.
Sensors 21 01937 g005
Figure 6. Cascaded Complementary Filter.
Figure 6. Cascaded Complementary Filter.
Sensors 21 01937 g006
Figure 7. Flowchart of the proposed CCF algorithm.
Figure 7. Flowchart of the proposed CCF algorithm.
Sensors 21 01937 g007
Figure 8. Amplitude and Phase plot for CCF.
Figure 8. Amplitude and Phase plot for CCF.
Sensors 21 01937 g008
Figure 9. Effect of varying α value on the CCF performance with fixed K P and K I parameters (Dataset A3).
Figure 9. Effect of varying α value on the CCF performance with fixed K P and K I parameters (Dataset A3).
Sensors 21 01937 g009
Figure 10. Comparison of proposed CCF structure with other estimation algorithms on Xsense dataset.
Figure 10. Comparison of proposed CCF structure with other estimation algorithms on Xsense dataset.
Sensors 21 01937 g010
Figure 11. Comparison of proposed CCF structure with other estimation algorithms on Arducopter datasets.
Figure 11. Comparison of proposed CCF structure with other estimation algorithms on Arducopter datasets.
Sensors 21 01937 g011
Figure 12. Comparison of computational time for Xsens and Arducopter datasets.
Figure 12. Comparison of computational time for Xsens and Arducopter datasets.
Sensors 21 01937 g012
Figure 13. Attitude estimation results for Xsens dataset.
Figure 13. Attitude estimation results for Xsens dataset.
Sensors 21 01937 g013
Figure 14. Attitude estimation results for Arducopter dataset.
Figure 14. Attitude estimation results for Arducopter dataset.
Sensors 21 01937 g014
Figure 15. Attitude estimation results Matlab generated dataset.
Figure 15. Attitude estimation results Matlab generated dataset.
Sensors 21 01937 g015
Figure 16. Estimation error over time: RMSE for every 100 s.
Figure 16. Estimation error over time: RMSE for every 100 s.
Sensors 21 01937 g016
Table 1. Average RMSE (in radian) obtained for NCF and CCF with varying K P and K I (Xsens datasets).
Table 1. Average RMSE (in radian) obtained for NCF and CCF with varying K P and K I (Xsens datasets).
Xsens DatasetX1X2X3X4
KpKINCFCCFNCFCCFNCFCCFNCFCCF
750.010.0420.0410.0770.0770.0760.0750.0770.077
750.10.0420.0410.0770.0770.0760.0750.0770.077
7510.0420.0410.0770.0770.0760.0760.0770.077
250.010.0460.0410.0760.0770.0770.0750.0750.076
250.10.0460.0410.0760.0770.0770.0750.0750.076
2510.0460.0410.0760.0770.0780.0750.0750.076
10.010.2640.0400.1990.0760.2480.0750.3240.075
10.10.2760.0400.2000.0760.2620.0750.3380.075
110.3830.0400.2100.0760.3070.0750.4040.075
0.10.010.4360.0402.3030.0760.4700.0750.8480.075
0.10.11.2370.0401.2930.0760.7530.0751.2640.075
0.119.1180.0403.6650.0762.0380.0756.5660.075
mean RMSE0.9980.0400.6940.0770.3780.0750.8500.076
standard deviation2.4700.0001.1100.0010.5390.0001.7600.001
LSE adaptive0.0430.0410.0770.0770.0760.0760.0760.076
Table 2. Average RMSE (in radian) obtained for NCF and CCF with varying Kp and KI (Arducopter datasets).
Table 2. Average RMSE (in radian) obtained for NCF and CCF with varying Kp and KI (Arducopter datasets).
Arducopter DatasetA1A2A3A4
KpKINCFCCFNCFCCFNCFCCFNCFCCF
750.010.2690.2680.4470.4180.0900.0880.2080.194
750.10.2690.2680.4470.4180.0900.0880.2080.194
7510.2690.2680.4500.4180.0900.0880.2080.194
250.010.3220.2800.4900.4090.0980.0750.2480.204
250.10.3220.2800.4900.4090.0980.0750.2470.203
2510.3220.2800.4950.4090.0980.0750.2450.203
10.010.9130.3012.1220.4210.5410.0732.4810.208
10.10.9360.3013.3250.4210.5210.0733.8390.208
111.0320.3018.5850.4220.4290.0732.6750.211
0.10.012.8710.3027.4630.4223.6680.0736.8730.211
0.10.11.3440.30216.4020.4223.9660.07364.4880.211
0.111.5980.30223.8140.4235.5590.07312.9410.211
mean RMSE0.8720.2885.3770.4181.2700.0777.8880.204
standard deviation0.7520.0147.2770.0051.8600.00617.4530.007
LSE adaptive0.2920.2880.4510.4230.0830.0800.2210.219
Table 3. Values of LSE-adapted parameters of CCF.
Table 3. Values of LSE-adapted parameters of CCF.
DatasetX1X2X3X4A1A2A3A4
Roll
K P 21.17038.33633.7436.74621.11830.30923.26739.408
K I 5.1315.0037.0470.4314.0385.1744.6314.356
α 0.7430.9340.8840.7500.6430.7770.8850.951
Pitch
K P 2.80735.43138.29039.5741.22934.54239.94036.182
K I 0.3486.2005.1983.7550.3016.2554.2256.513
α 0.4190.9020.9410.9590.6670.8580.9550.888
Yaw
K P 39.67242.46321.34538.26642.33442.54440.24142.094
K I 4.1640.5694.8854.8960.7190.4604.7330.970
α 0.9600.9950.7090.9320.9930.9960.9740.989
Table 4. Considered parameter values for different algorithms.
Table 4. Considered parameter values for different algorithms.
Filter ParameterXsens DatasetArducopter Dataset
Mahony Filter K P 1.5100
Madgwick Filter β 0.210
NCF K P 2525
K I 0.10.1
CKFQ 60 0 0 0 0 0 0 5 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
R 0.1 0 0 0 0.01 0 0 0 0.8
EKFQ 5 0 0 0 0.05 0 0 0 10
R 0.1 0 0 0 0.001 0 0 0 0.8
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Narkhede, P.; Poddar, S.; Walambe, R.; Ghinea, G.; Kotecha, K. Cascaded Complementary Filter Architecture for Sensor Fusion in Attitude Estimation. Sensors 2021, 21, 1937. https://doi.org/10.3390/s21061937

AMA Style

Narkhede P, Poddar S, Walambe R, Ghinea G, Kotecha K. Cascaded Complementary Filter Architecture for Sensor Fusion in Attitude Estimation. Sensors. 2021; 21(6):1937. https://doi.org/10.3390/s21061937

Chicago/Turabian Style

Narkhede, Parag, Shashi Poddar, Rahee Walambe, George Ghinea, and Ketan Kotecha. 2021. "Cascaded Complementary Filter Architecture for Sensor Fusion in Attitude Estimation" Sensors 21, no. 6: 1937. https://doi.org/10.3390/s21061937

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

Article Metrics

Back to TopTop