Next Article in Journal
Traffic Intersection Re-Identification Using Monocular Camera Sensors
Next Article in Special Issue
Multi-Object Tracking Algorithm for RGB-D Images Based on Asymmetric Dual Siamese Networks
Previous Article in Journal
Optimization of Time Synchronization and Algorithms with TDOA Based Indoor Positioning Technique for Internet of Things
Previous Article in Special Issue
Optimization and Analysis of Surface Roughness, Flank Wear and 5 Different Sensorial Data via Tool Condition Monitoring System in Turning of AISI 5140
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Global Interconnected Observer for Attitude and Gyro Bias Estimation with Vector Measurements

School of Automation, Northwestern Polytechnical University, Xi’an 710072, China
*
Author to whom correspondence should be addressed.
Sensors 2020, 20(22), 6514; https://doi.org/10.3390/s20226514
Submission received: 10 October 2020 / Revised: 4 November 2020 / Accepted: 12 November 2020 / Published: 14 November 2020
(This article belongs to the Collection Multi-Sensor Information Fusion)

Abstract

:
This paper proposes a novel interconnected observer to get good estimates of attitude and gyro bias from high-noise vector measurements. The observer is derived based on the theory of nonlinear and linear cascade systems, and its error dynamics have the properties of global exponential stability and robustness to bounded noise. These properties ensure the convergence and boundedness of the attitude and gyro bias estimation errors. To obtain higher estimation accuracy, an approach to calculate time-varying gains for the proposed auxiliary observer is designed under the premise of considering noise terms in the rate gyro and vector sensors. The simulation results show that when the vector sensors’ outputs contain high-level noise, the proposed observer with time-varying gains yields better performance in both the transient and steady-state phases.

1. Introduction

Attitude estimation of a rigid body is an indispensable part of navigation. Questions of estimating attitude have been a field of concern for decades due to its numerous applications in various systems, such as unmanned underwater vehicles (UUVs) [1], unmanned aerial vehicles (UAVs) [2], and others [3]. A rigid body’s attitude can be resolved by integrating the angular velocity from a rate gyro output. However, even with high-precision gyros, the accumulated drift over time can affect the accuracy of the attitude estimation, not to mention the low-cost ones. A typical approach to estimate attitude is to utilize algebraic methods of vector measurements only by comparing vectors measured in either the body-fixed coordinate frame or the reference frame with vectors measured in the other. Triad and Quest in [4] used two or more nonparallel vector measurements to determine the attitude. Unfortunately, bias and noise can easily corrupt the vector measurements. Therefore, combining angular velocity sensors with vector sensors (e.g., accelerometers, magnetometers, star trackers, or sun sensors) has been developed for improving the estimation accuracy.
The current approaches for estimating attitude and gyro bias from vector sensors and rate gyros can be summarized into two classes, stochastic filtering algorithms (such as EKF, UKF, and their variants; see [5,6,7]) and nonlinear observers (e.g., [8,9]). Although EKFs and UKFs have been widely used, they cannot guarantee convergence in strongly nonlinear systems, and UKFs may increase the computational cost. In recent years, more efforts have been made in constructing nonlinear observers. In [10,11], nonlinear complementary filters designed on the special orthogonal group S O ( 3 ) for low-cost measurement units became the foundation of other observers. On this basis, Grip et al. [12] developed semi-globally stable observers with gyro bias and time-varying reference vectors. After that, they came up with an alternative semi-global attitude observer in the unit quaternion space [13] by employing the theory of cascaded linear and nonlinear system observers, which appeared in [14,15]. For obtaining globally stable observers, some studies adopt the S O ( 3 ) topological constraint lifting methods before estimating the attitude rotation matrix, such as Batista et al. [16,17], Grip et al. [9,18], Bryne et al. [19], and Fusini et al. [20]; in addition, the nonlinear observers in [18,19,20] are all based on extensions or various applications of the observer in [9]. Among these observers, except the observer in [16] attained global asymptotical stability; others achieved global exponential stability. Besides et al. [21,22] proposed two different “geometry-free” nonlinear observers and verified that the former has the property of global asymptotic stability, while the latter has global exponential stability. All the aforementioned nonlinear observers apply at least two vector measurements combined with gyro measurements. Unlike them, the methods described by Batista et al. [23,24] merely use a signal vector observation, coupled with a persistency-of-excitation (PE) condition, and also reach global exponential stability.
Most observers mentioned the preceding are designed and proved under the assumption of noise-free scenarios and do not allow vector measurement bias. Like [25,26,27], researchers took noise terms of the linear cascade system into account just when deriving and calculating the time-varying gains of the linear system observer, which means they do not consider the gyro and vector sensor noise. Therefore, a noisy attitude observer model was given in [28] while discussing and proofing the cascade attitude observer’s robustness to bounded noise and stochastic noise on all sensors. Additionally, [12] first offered a method of estimating body-fixed vector bias, using an exponential convergence algorithm, and then employing this method in cascade attitude and gyro bias observers to improve the estimation accuracy. Moreover, Martin et al. [29] presented a nonlinear “non-geometry” observer, regarded a bias of one vector observation and rate gyro. They verified that considering one vector measurement bias can also obtain global asymptotic stability and local exponential stability. The literature we listed has estimated the gyro bias on the premises that the rate gyro exists, and its accumulated drift is controllable. If those premises are not true, another trend requiring attention is angular velocity reconstruction without applying rate gyros to obtain reasonable gyro bias estimation. Recently, relatively simple angular velocity estimation observers have been proposed by Magnis and Petit [30,31]. These observers reconstruct the angular velocity directly from the vector measurements, even a single vector measurement, without any attitude information or gyro measurements, and quickly convergence. However, users need to assume that all the torques applied to the rigid body are known. To solve this problem, Magnis et al. [32] extended their work to estimate torques even with varying rotation rates and unknown direction. Notably, these angular velocity estimation observers can make a positive contribution to gyro bias estimation.
We consider the attitude and gyro bias estimation using a rate gyro and two or more vector sensors. Built on the theory of Grip et al. [15] for cascaded nonlinear and linear systems, the primary contribution of this paper is to construct an interconnected nonlinear observer to estimate attitude and gyro bias from the re-estimated vector measurements. The proposed observer includes two cascaded subsystems: a nonlinear attitude and gyro bias observer modified from the nonlinear observer in [9], and a linear vector measurement observer devised to filter the vector measurements, called an auxiliary observer. This paper analyzes the proposed observer’s stability and gives its noisy error dynamics to study its robustness. When proving its robustness to bounded noise, the input-to-state stability theorem is used, and all the sensors’ noise is regarded. Beyond that, the time-varying gains computed from the discrete Riccati equation, for the auxiliary observer, is designed to improve its accuracy and robustness. This model also thinks about noise on all sensors.
We begin with the required sensor models and assumptions in Section 2. We design the globally interconnected observer and analyze its stability in Section 3. Section 4 briefly proves the proposed observer’s robustness to bounded noise. Section 5 discusses the results of the numerical simulation with several cases in detail. Section 6 concludes this paper.

Notation and Preliminaries

The operator ( ) T denotes the transpose of a vector or matrix; represents the vectors’ Euclidean norm and the matrices’ Frobenius norm; and E [ ] forms the expectation of its inputs. The symbols I n × n and 0 m × n denote the n × n identity matrix and the m × n zero element matrix, respectively. For a vector 3 , defined as r = [ r 1 r 2 r 3 ] T , its skew-symmetric is denoted by S ( r ) , where
S ( r ) = [ 0 r 3 r 2 r 3 0 r 1 r 2 r 1 0 ] ,
so that for any a 3 , S ( r ) a = r × a , where × means the vector cross product. Given a linear function, vex ( ) denotes the inverse operation of S ( r ) , such that vex ( S ( r ) ) = r . For a square matrix U , a ( U ) = ( U U T ) / 2 denotes its skew-symmetric part, tr ( U ) means its trace, | tr ( U ) | 3 U ; for a symmetric matrix U , tr ( U S ( r ) ) = 0 . Furthermore, the trace of a skew-symmetric matrix is zero, and there exists tr ( S T ( r ) S ( a ) ) = 2 r T a . A block-diagonal matrix U 3 of two square matrices U 1 and U 2 is indicated with U 3 = blkdiag ( U 1 , U 2 ) . The saturation operation of a vector or matrix argument to the interval [ L , L ] is performed by sat L ( ) . Proj ( ) is a projection operator whose function here is to preserve its inputs in a predefined bound.
In general, we need two coordinate frames to describe the attitude: the body-fixed frame and the reference frame. The body-fixed frame, denoted by { B } , is on the rigid body; its origin is rigorously fastened to the body’s center of mass. The reference frame is ordinarily unmoving, called an inertial frame { I } . Here, the north–east–down (NED) navigation frame, denoted by { N } , is used as the inertial frame, which means that the rotation of the Earth would be ignored in low-precision applications. R B N S O ( 3 ) represents a rotation matrix from { B } to { N } , where SO ( 3 ) is defined by SO ( 3 ) : = { U 3 × 3 | det ( U ) = 1 , U U T = U T U = I 3 } . For convenience, let R R B N . Furthermore, it is known that a vector norm remains unchanged after rotation, i.e., R a = a . By using superscript indexes to represent a vector decomposed in different coordinate frames, we have x N as the component of x in frame { N } , and x B is the same. According to the definition of R , the relationship between the above vector components can be written as x N = R x B .

2. Problem Statement

2.1. Sensor Model

Consider a rigid body consisting of a triaxial rate gyro and two or more additional vector sensors, such as accelerometers and magnetometers. The attitude kinematics about the rotation matrix satisfy
R ˙ = R S ( ω ) ,
where ω 3 is the angular velocity of { B } with reference to { N } , expressed in { B } , and [33] gave its normal model:
ω = ω m b ω η ω ,
b ˙ ω = 0 ,
where ω m is the outputs of the gyro; b ω 3 is a constant gyro bias vector; and η ω is the sensor noise.
As described, at least two other sensors provide nonparallel vector measurements, so let M 2 , and suppose that two sets of M vector measurements { v i 3 , i = 1 , , M } and { v m i 3 , i = 1 , , M } in the body-fixed frame are available. The measurement model is
v m i = v i + η i ,
where v m i 3 , i = 1 , , M denotes the corresponding sensor outputs; and η i 3 , i = 1 , , M is the sensor noise on measurement i . The vector measurement v i , in the body-fixed frame, of the known constant vectors v i N , when expressed in the reference frame (NED frame), conform to the following relationship:
v i = R T v i N .
In this paper, vector measurements stand for a set of vectors measured in the body-fixed frame from other vector sensors, except for rate gyros, and satisfy Equation (6).
Omit the noisy terms in Equations (3)–(5) and substitute Equations (3) and (6) into Equations (2) and (5), respectively. We can get the noisy-free nonlinear system model as follows:
{ R ˙ = R S ( ω m b ω ) b ˙ ω = 0 v i = R T v i N , i = 1 , , M ,
where ω m = ω + b ω in this noiseless system. The following observer design also utilizes this noiseless system.

2.2. Assumptions

Throughout this work, consider the following assumptions:
Assumption 1.
At least two vectors in the body-fixed frame are not parallel to each other, i.e., there exists a constant γ > 0 , for all t 0 , there are i , j 1 , , M and i j , such that v i × v j γ > 0 .
Assumption 2.
The gyro output signal ω m and its derivative ω ˙ m are bounded for all t 0 .
Assumption 3.
The gyro bias b ω is constant; there exists a known constant l b > 0 , such that b ω l b .
The first two assumptions are standard assumptions in attitude estimation; see, e.g., [12,13,17,20]. Assumption 1 is necessary to guarantee uniform observability. Assumption 3 is about gyro bias; also, we assume that v i N , i = 1 , , M and v ˙ i N , i = 1 , , M are all continuous at t and uniformly bounded.
In this paper, we choose two non-collinear vector measurements denoted by v 1 and v 2 in the body-fixed frame, corresponding to v 1 N and v 2 N in the inertial frame, where v 1 N and v 2 N are also independent of each other; the above assumptions are equally applicable.

3. Nonlinear Interconnected Observer Design

As shown in Figure 1, the proposed nonlinear interconnected observer includes two subsystems. The first subsystem is an attitude observer, which estimates the rotation matrix and gyro bias established on comparing at least two nonparallel vector measurements in two corresponding coordinate frames. If the attitude observer directly applies the vector sensors’ outputs as its input, the injection term will contain the vector measurement noise. This injection noise can change the accuracy of the attitude observer. Therefore, to reduce the impact of the measurement noise, we construct the second subsystem, an auxiliary observer for estimating the vector measurements and feeding the estimated value back to the attitude observer. The interconnected system 1 - 2 is based on the theory of Grip in [15].

3.1. Subsystem 1 : Attitude Observer

The general framework of 1 introduced here for the rotation matrix R and gyro bias b ω is similar to that in Grip et al. [18], expressed as
1 : { R ^ ˙ = R ^ S ( ω m b ^ ω ) + θ K P Γ b ^ ˙ ω = Proj ( b ^ ω l b ^ , k v vex ( a ( R ^ s T K P Γ ) ) ) ,
where θ , K P , and k v are tunable parameters, tuned to obtain stability. In more detail, θ 1 is a scaling factor; K P is a symmetric positive–definite gain matrix; and k v > 0 is a scalar gain. Function Proj ( ) denotes a parameter projection operator to ensure the estimated gyro bias is bounded by b ^ l b ^ , see [9] for detail; and l b ^ is a constant, l b ^ > l b . R ^ s = sat 1 ( R ^ ) . Referencing the TRIAD algorithm [4], the injection term Γ is defined by
Γ ( v 1 , v 1 N , v 2 , v 2 N , R ^ ) : = A N A B T A N A N T R ^ ,
A B : = [ v 1 v 2 v 1 × v 2 ] ,
A N : = [ v 1 N v 2 N v 1 N × v 2 N ] ,
which is different from the design strategy of J : = A N A B T R ^ A B A B T in [18]. Note that A B and A N are defined to fulfill Assumption 1. Besides, in the attitude observer, the rotation matrix R ^ does not strictly adhere to the topological structure of SO ( 3 ) .
Property 1.
For all t > 0 , A B and A N are piecewise continuous in t and uniformly bounded by A N = A B L A . For all t > 0 , there is a constant β 1 > 0 , such that A N A N Τ β 1 I 3 × 3 .
Define the estimation errors of the rotation matrix and gyro bias as R ˜ = R R ^ , b ˜ ω = b ω b ^ ω . The error dynamics can be written as
{ R ˜ ˙ = R S ( ω m b ω ) R ^ S ( ω m b ^ ω ) θ K P Γ b ˜ ˙ ω = Proj ( b ^ ω , k v vex ( a ( R ^ s T K P Γ ) ) ) .
Lemma 1.
For any choice of K P > 0 and k v > 0 , there exists a constant θ * 1 , such that, for all θ θ * , the origin R ˜ = R R ^ = 0 and b ˜ ω = b ω b ^ ω = 0 of Equation (12) is global exponential stability (GES).
Proof. 
Having that A B = R T A N , we can rewrite Γ = A N A N T R ˜ , thus Γ = A N A N T R ˜ A N 2 R ˜ L A 2 R ˜ . Hence, Γ in the present observer also remains linear in R ˜ , so the remaining proof is analogous to [18]. □
To reduce the vector measurement noise injection, we utilized the estimated vector measurements instead of the output signals of the vector sensors. Therefore we replaced every occurrence of v 1 and v 2 in A B by the estimated states v ^ 1 and v ^ 2 , using A ^ B to replace A B in term Γ . Thus, Γ ^ and A ^ B take the following forms:
Γ ^ ( v ^ 1 , v 1 N , v ^ 2 , v 2 N , R ^ ) : = A N A ^ B T A N A N T R ^ ,
A ^ B = [ v ^ 1 v ^ 2 v ^ 1 × v ^ 2 ] .
Consequently, with the feedback, the error dynamics of 1 are
1 : { R ^ ˙ = R ^ S ( ω m b ^ ω ) + θ K P Γ ^ b ^ ˙ ω = Proj ( b ^ ω l b ^ , k v vex ( a ( R ^ s T K P Γ ^ ) ) ) .
Notice that, in Equation (9), J has been changed by Γ to facilitate subsequent derivation, because the second term of Γ is to ensure that Γ ˜ is a linearity to A ˜ B , where Γ ˜ : = Γ Γ ^ and A ˜ B : = A B A ^ B .

3.2. Subsystem 2 : Auxiliary Observer

To weaken the injection of vector measurement noise in 1 , we determine that the vector measurements are not available as the input of 1 , as seen in Figure 2. Consequently, in this stage, we design an auxiliary observer whose role is to estimate the vector measurements for feeding the attitude observer. Since v 1 N and v 2 N are constants, from Equations (5) and (6), the derivative of the vector measurements is given by
{ v ˙ 1 = v 1 × ω v ˙ 2 = v 2 × ω .
Combine the above equations with the measurement equation, Equation (6), and let i = 1 , 2 . Then, to estimate the states of the linear system in Equation (16), give the observer in a noiseless scenario:
2 : { v ^ ˙ 1 = v ^ 1 × ( ω m b ^ ω ) + K 1 ( v 1 v ^ 1 ) v ^ ˙ 2 = v ^ 2 × ( ω m b ^ ω ) + K 2 ( v 2 v ^ 2 ) ,
where the gain matrices K 1 and K 2 are positive. Notice that the auxiliary observer is closely related to that introduced by Martin et al. [22]. The main difference between them is that the auxiliary observer uses the estimated gyro bias as an input rather than an estimated state, and the error system of 2 is linear. Compared with the extended linear cascade subsystem in [15], our framework can be viewed as a simplified version because it only contains the additional items.
What is noteworthy is that the structure of the auxiliary observer 2 makes it possible to use time-varying reference vectors in the inertial frame, since the knowledge of the constant vectors v 1 N and v 2 N is not employed.

3.3. Stability Analysis

To analyze the stability, define the estimation errors of 2 as v ˜ 1 = v 1 v ^ 1 , v ˜ 2 = v 2 v ^ 2 . The error dynamics of system 2 are
{ v ˜ ˙ 1 = ( ω m b ^ ω ) × v ˜ 1 K 1 v ˜ 1 + d ˜ 1 v ˜ ˙ 2 = ( ω m b ^ ω ) × v ˜ 2 K 2 v ˜ 2 + d ˜ 2 ,
where d ˜ = [ d ˜ 1 , d ˜ 2 ] T = [ v 1 × b ˜ ω , v 2 × b ˜ ω ] T is viewed as an input. Since v 1 and v 2 are uniformly bounded and S ( v 1 ) = 2 v 1 , then d ˜ 2 ( v 1 2 b ˜ ω 2 + v 2 2 b ˜ ω 2 ) 1 / 2 L 1 b ˜ ω for some L 1 > 0 , which satisfies Assumption 3 in [15]. Let v ˜ = [ v ˜ 1 , v ˜ 2 ] T and transform the error dynamics in Equation (18) into a linear time-varying (LTV) error system:
v ˜ ˙ = ( A K C ) v ˜ + B d ˜ ,
where A = [ S ( ω m b ^ ω ) 0 3 × 3 0 3 × 3 S ( ω m b ^ ω ) ] , B = [ I 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 ] , C = [ I 3 × 3 0 3 × 3 0 3 × 3 I 3 × 3 ] , K = [ K 1 0 3 × 3 0 3 × 3 K 2 ] . To guarantee the stability of the observer error dynamics, K must be selected to make sure that the matrix A K C is Hurwritz, as stated in Theorem 1 below.
According to the definition of Γ ^ in the present paper, the error dynamics of 1 are
{ R ˜ ˙ = R S ( ω m b ω ) R ^ S ( ω m b ^ ω ) θ K P Γ ^ b ˜ ˙ ω = Proj ( b ^ ω , k v vex ( a ( R ^ s T K P Γ ^ ) ) ) .
Theorem 1.
Let H K ( s ) = ( I s A + K C ) 1 B , and let θ be chosen to warrant stability. There exists a κ > 0 , such that if K is chosen to assure that A K C is Hurwritz and H K ( s ) < κ , then the origin of Equations (19) and (20) are GES. Moreover, a K that fulfills these conditions can be found all the time.
Proof. 
This proof acts similarly to [18]. First, ( A , C ) and ( A , B ) are easily verified to be observable and controllable, respectively. The pair ( A , B , C ) is left-invertible. According to the properties of the skew-symmetric matrix, we can infer that ( A , B , C ) is the minimum phase. As mentioned above, K should be chosen to fulfill the conditions of Theorem 1, and the same as for proof of Lemma 1, b ^ ω must be in the definition domain of b ^ ω l b ^ . Next, choosing the same Lyapunov function candidate V as in [18], we get the equation of V ˙ , which is
V ˙ β 2 ( R ˜ 2 + b ˜ ω 2 ) + tr ( R ˜ T θ K P Γ ˜ ) μ tr ( S ( Proj ( b ^ ω , τ ( Γ ) ) Proj ( b ^ ω , τ ( Γ ^ ) ) ) R T R ˜ ) μ tr ( S ( b ˜ ω ) R T θ K P Γ ˜ ) + 2 θ μ k v b ˜ ω T ( Proj ( b ^ ω , τ ( Γ ) ) Proj ( b ^ ω , τ ( Γ ^ ) ) )
where τ ( Γ ) = k v vex ( a ( R ^ s T K P Γ ) ) , and recall that Γ ˜ = Γ Γ ^ . Write Γ ˜ = A N ( A B A ^ B ) T = A N A ˜ B T ; it follows that Γ ˜ A N A ˜ B , where A N L A ; see Property 1. Using the inequality v 1 × v 2 2 2 2 ( v 1 2 + v 2 2 ) derived from the inequality in [34], we can bound A ˜ B in the following way: Let A ˜ B = A B A ^ B = [ v 1 v ^ 1 v 2 v ^ 2 v 1 × v 2 v ^ 1 × v ^ 2 ] , v ˜ 1 = v 1 v ^ 1 , and v ˜ 2 = v 2 v ^ 2 , then we have
S ( v 1 ) v 2 S ( v ^ 1 ) v ^ 2 = S ( v 1 ) v 2 S ( v 1 v ˜ 1 ) ( v 2 v ˜ 2 ) = S ( v 1 ) v ˜ 2 + S ( v ˜ 1 ) v 2 S ( v ˜ 1 ) ( v ˜ 2 ) S ( v 1 ) v ˜ 2 + S ( v ˜ 1 ) v 2 + S ( v ˜ 1 ) ( v ˜ 2 ) 2 ( v 1 v ˜ 2 + v ˜ 1 v 2 + 2 ( v ˜ 1 2 + v ˜ 2 2 ) 1 / 2 ) 2 ( h 1 v ˜ 2 + h 2 v ˜ 1 + 2 ( v ˜ 1 2 + v ˜ 2 2 ) 1 / 2 ) h 3 ( v ˜ 1 2 + v ˜ 2 2 ) 1 / 2 ,
for some constant h 3 > 0 , where h 1 and h 2 are bound on v 1 and v 2 , respectively. Then the norm of A ˜ B becomes
A ˜ B = ( v ˜ 1 2 + v ˜ 2 2 + S ( v 1 ) v 2 S ( v ^ 1 ) v ^ 2 2 ) 1 / 2 ( v ˜ 1 2 + v ˜ 2 2 + h 3 2 ( v ˜ 1 2 + v ˜ 2 2 ) ) 1 / 2 γ 1 ( v ˜ 1 2 + v ˜ 2 2 ) 1 / 2
for some γ 1 > 0 . Given v ˜ = ( v ˜ 1 2 + v ˜ 2 2 ) 1 / 2 , it is easy to get that Γ ˜ A N A ˜ B L A γ 1 v ˜ . Hence, θ K P Γ ˜ θ L A γ 1 K P v ˜ . With the additional properties from Lemma 3 in [9], such that Proj ( b ^ ω , τ ) τ , vex ( a ( U ) ) U / 2 , there exists a γ 2 > 0 , such that τ ( Γ ) τ ( Γ ^ ) γ 2 v ˜ . Likewise, there is a constant γ 3 > 0 , such that Proj ( b ^ , τ ( Γ ) ) Proj ( b ^ , τ ( Γ ^ ) ) γ 3 v ˜ . Then V ˙ becomes
V ˙ β 2 ( R ˜ 2 + b ˜ ω 2 ) + 3 θ K P | γ 1 | R ˜ v ˜ + 6 μ γ 3 R ˜ v ˜ + 6 μ θ K P | γ 1 | b ˜ ω v ˜ + 2 θ μ γ 3 k v b ˜ ω v ˜ β 2 ξ 2 + γ 4 ξ v ˜
for some γ 4 > 0 , β 2 > 0 , where ξ : = ( R ˜ 2 + b ˜ ω 2 ) 1 / 2 . □
Following the proof of Lemma 2 in [9], and using the same function W = v ˜ T P v ˜ for some positive definite matrix P , one gets W ˙ v ˜ 2 + κ 2 d ˜ 2 . From the above analysis we can obtain d ˜ L 1 b ˜ ω L 1 ( R ˜ + b ˜ ω ) . Thus, W ˙ v ˜ 2 + κ 2 γ 5 2 ξ 2 for some γ 5 > 0 . Considering the Lyapunov function Y = W + g V , we get Y ˙ < 0 for all adequately small κ . Therefore, this error system is GES.

3.4. Gain Selection

The task of this section is to choose the tunable gains. K P , k v and θ of the attitude observer are chosen to conform to Lemma 1, and K of the auxiliary observer should be selected to secure the total observer’s stability. In practice, one can first choose arbitrary K P , k v , and then tune other gains to achieve stability, of which K P and K can be selected constants for improving the computational efficiency.
Additionally, according to the structure of Equation (18), we can find that it is straightforward to design time-varying gains for the auxiliary observer. One solution is to resolve the discrete time-varying Ricatti equation. This solution is similar to Kalman filter equations; the details are similar as in [25]. Furthermore, the utility of this method is that the noise and small interference items of the vector sensors can be under consideration. To make the derivations easier, we substitute v i , i = 1 , 2 with v i + n i , i = 1 , 2 and replace ω m with ω m + η ω in Equation (17), like [28], to get the dynamics of the noisy auxiliary observer 2
2 : { v ^ ˙ 1 = v ^ 1 × ( ω m + η ω b ^ ω ) + K 1 ( v 1 + η 1 v ^ 1 ) v ^ ˙ 2 = v ^ 2 × ( ω m + η ω b ^ ω ) + K 2 ( v 2 + η 2 v ^ 2 ) .
Then, from Equations (25) and (16), the estimation error dynamics of 2 are
{ v ˜ ˙ 1 = v ˙ 1 v ^ ˙ 1 = S ( ω m b ^ ω ) v ˜ 1 K 1 v ˜ 1 + d ˜ 1 + S ( v ^ 1 ) η ω K 1 η 1 v ˜ ˙ 2 = v ˙ 2 v ^ ˙ 2 = S ( ω m b ^ ω ) v ˜ 2 K 2 v ˜ 2 + d ˜ 2 + S ( v ^ 2 ) η ω K 2 η 2 .
Recall that d ˜ = [ d ˜ 1 , d ˜ 2 ] T = [ v 1 × b ˜ ω , v 2 × b ˜ ω ] T , v ˜ = [ v ˜ 1 , v ˜ 2 ] T , given an input u , and u = d ˜ ; thus, the LTV error system with noise terms is
v ˜ ˙ = ( A K C ) v ˜ + B u + B η u K η v ,
where K and the ( A , B , C ) matrices are the same as before, η u is correlated with gyro noise, which gives η u = [ S ( v ^ 1 ) η ω , S ( v ^ 2 ) η ω ] T . η v is driven by vector measurement noise, having η v = [ η 1 , η 2 ] T . As stated in Assumption 1, the two vector measurements are noncorrelated, thus defining the process noise covariance matrix and measurement noise covariance matrix as Q = blkdiag ( Q 1 , Q 2 ) and R v = blkdiag ( R v 1 , R v 2 ) , respectively. Regarding Q , Q 1 = E [ S ( v ^ 1 ) η ω η ω T S T ( v ^ 1 ) ] and Q 2 = E [ S ( v ^ 2 ) η ω η ω T S T ( v ^ 2 ) ] , which are obtained from the gyro measurement noise. Concerning R , the matrices R v 1 and R v 2 are from the vector measurement noise by R v 1 = E [ η 1 η 1 T ] and R v 2 = E [ η 2 η 2 T ] . For computing K , the following discrete Kalman filtering formulas can be used:
P k | k 1 = F k P k - 1 | k 1 F k T + Q k
K k = P k | k 1 C k T ( C k P k | k 1 C k T + R v k ) 1
P k | k = ( I K k C k ) P k | k 1
where ( ) k means the discrete matrix at time t k . Given the discretization of the state matrices, F k = e A Δ t and Q k = t k t k + 1 e A Δ t B Q B T e A T Δ t d s , in which Δ t = t k + 1 t k is the sampling interval. P k | k 1 and P k denote the covariance of the estimated error v ˜ . In addition to producing time-varying gains, another advantage of this method is that it regards vector measurement noise at any time, and in some cases, smaller interference items can also be regarded as noise items.

4. Robustness to Noise

All analyses of the stability in Section 3.3 are performed under the assumption that there is a noise-free scenario. In fact, all sensors’ measurements cannot avoid noise interference. Our main work of this section is to analyze the observer’s robustness to the noise on sensor measurements. Toward this end, assume that all noise is bounded. We start with the noise of the rate gyro and vector sensors under consideration by substituting ω m + η ω for ω m , v i + n i , i = 1 , 2 for v i , i = 1 , 2 . Hence, in the presence of bounded noise, the dynamics of the attitude observer Equation (8) are replaced with
1 : { R ^ ˙ = R ^ S ( ω m + η ω b ^ ω ) + θ K P Γ ¯ b ^ ˙ ω = Proj ( b ^ ω l b ^ , k v vex ( a ( R ^ s T K P Γ ¯ ) ) ) ,
where Γ ¯ can be written as
Γ ¯ ( v 1 + η 1 , v 1 N , v 2 + η 2 , v 2 N , R ^ ) : = A N A ¯ B T A N A N T R ^ ,
and A ¯ B is denoted by
A ¯ B = [ v 1 + η 1 v 2 + η 2 ( v 1 + η 1 ) × ( v 2 + η 2 ) ] .
Then the error dynamics are
{ R ˜ ˙ = R S ( ω m b ω ) R ^ S ( ω m + η ω b ^ ω ) θ K P Γ ¯ b ˜ ˙ ω = Proj ( b ^ ω , k v vex ( a ( R ^ s T K P Γ ¯ ) ) ) .
Note that the noisy system dynamics and noisy error dynamics of the auxiliary observer are given by Equations (25) and (26).
Assumption 4.
For all t 0 , the sensor measurement noise η ω and η i , i = 1 , 2 are all uniformly bounded.
Theorem 2.
Under the condition of Lemma 1, consider the attitude observer Equation (8), and let the input u 1 = [ η ω , η v ] T meet Assumption 4, then the attitude observer error dynamics Equation (34) are input-to-state stable.
Proof. 
See Appendix A. □
Theorem 3.
Under the condition of Theorem 1, consider the auxiliary observer Equation (17), and let the input u 2 = [ b ˜ ω , η u , η v ] T meet Assumption 4, then the attitude observer error dynamics Equation (25) are input-to-state stable.
Proof. 
See Appendix B. □
Remark 1.
The premise of Theorem 3 is that the gyro bias estimation errors are bounded under Theorem 2.

5. Simulation Results and Discussion

In this section, via a simulated attitude estimation system, we evaluated the proposed nonlinear interconnected observer (named NLIO) by comparing it with the nonlinear observer (NLO) proposed by Grip et al. [18], the cascade observer (NLCO) discussed in [28], and the multiplicative extended Kalman filter (MEKF) [35]. With fixed gains and time-varying gains, we called the proposed observer NLIO-FG and NLIO-TV, respectively. Consider the attitude and heading reference system (AHRS) that consists of a triaxial rate gyro and two triaxial vector sensors: an accelerometer and a magnetometer. All sensors were low-cost and had a frequency of 100 Hz. The attitude trajectory in each simulation was driven by ω = [ 0.1 sin ( ( π / 12 ) t ) , 0.2 cos ( ( π / 10 ) t ) , 0.1 sin ( ( π / 12 ) t ) ] T , and lasted 500 s. Besides, the rate gyro bias was b ω = [ 0.017 , 0.017 , 0.017 ] T rad / s . Assume that the gravitational and magnetic fields are available, denoted as g N = [ 0 , 0 , g ] T and m a g N = [ 0.3128 , 0 , 0.4282 ] T G , where g = 9.81 m / s 2 . All sensor noise was assumed as Gaussian white noise, and the rate gyro noise followed η ω N ( 0 , ( 10 3 rad / s ) 2 ) . Here, two simulations were conducted to illustrate the performance of our proposed observer. We carried out 100 independent runs with each case and calculated the mean-absolute error (MAE) and root-mean-squared error (RMSE) of the Euler angles to assess the estimation accuracy. Note that, in this paper, we assumed that the acceleration of the rigid body is quite small and negligible compared with the gravity vector.

5.1. Simulation A: Comparsion of NLIO and NLO

In this section, we aim to compare the performance of the NLO and the NLIO, because the attitude observer frameworks of the NLO and the NLIO have many similarities, and the NLIO can be seen as a development of the NLO. Four cases are given as follows, with different initial attitude values and vector sensor noise.
In all four cases, we established two sets of tuning gains for attitude observers in the NLO and NLIO. These were K P = 15 I 3 × 3 (for NLO, NLIO-FG, and NLIO-TV) and K P = 5 I 3 × 3 (for NLO-a and NILO-TV-a). The scaling gain of the gyro bias observer was fixed to k v = 0.2 I 3 × 3 ; the scaling parameter θ was fixed to θ = 1 . Meanwhile, the initial covariance matrix of the NLIO-TV was P 0 | 0 = blkdiag ( 10 5 I 3 × 3 , 5 × 10 7 I 3 × 3 ) .
Case 1.
The initial attitude was chosen randomly from a uniform distribution [ π , π ] , and the initial gyro bias was [ 0 , 0 , 0 ] T rad / s . The noise of the accelerometer and magnetometer was set to η 1 N ( 0 , ( 5 × 10 3 g ) 2 ) and η 2 N ( 0 , ( 8 × 10 3 G ) 2 ) , respectively. In this simulation, there were random initial attitude values for all observers. The cascaded auxiliary observer gains of the NLIO-FG were chosen as K 1 = 5.6 I 3 × 3 , K 2 = 3.3 I 3 × 3 .
From Figure 3, we can find that the auxiliary observers of the NLIOs can weaken the measurement noise and has good convergence, and the auxiliary observer with time-varying gains has better performance. Figure 4 and Figure 5 show the attitude and gyro bias estimation errors for each observer, respectively. These figures illustrate that the NLIO-TV slightly outperforms other observers by applying the time-varying gains to the auxiliary observer and using the estimated vector measurements as the attitude observer’s inputs. With the random initial attitude in [ π , π ] , we can see all observers can converge fast in the initial seconds of the transient phase, especially the NLIOs. Table 1 and Table 2 give the MAE values and RMSE values of the Euler angles, which represent the transient and steady-state performance of all observers. It is indicated that under the same attitude observer gains, the performance of the NLIO-FG is only better than the NLO in yaw. This means that a single auxiliary observer gain cannot meet the higher accuracy requirements of all the Euler angles.
Case 2.
The initial attitude and gyro bias were [ 0 , 0 , 0 ] T rad and [ 0 , 0 , 0 ] T rad / s ; there was mixed-Gaussian noise of the accelerometer and magnetometer, which follow η 1 0.8 N ( 0 , ( 5 × 10 3 g ) 2 ) + 0.2 N ( 0 , ( 5 × 10 2 g ) 2 ) , η 2 0.8 N ( 0 , ( 8 × 10 3 G ) 2 ) + 0.2 N ( 0 , ( 8 × 10 2 G ) 2 ) .
In this case, we assumed the vector measurement noise follows a mixed Gaussian distribution. The proposed observer gains were K 1 = 4.7 I 3 × 3 and K 2 = 1.5 I 3 × 3 . We can find in Figure 6 that the auxiliary observers of the NLIOs can minimize the measurement noise to a level similar to that made in Case 1. However, there is high-level noise on the vector sensors here compared to Case 1. Figure 7 and Figure 8 show that the NLIOs have better performance than the NLOs with identical K P ; obviously, with different tuning, the NLIO-TV is better than the NLO-a, which has an unaggressive K P , performing significantly better than the NLO. The results of the NLIO-FG in pitch also show that a single auxiliary observer gain cannot satisfy all accuracy requirements. It can be seen from the steady-state MAEs and RMSEs in Table 3 and Table 4 that, compared to Case 1, the observers’ performance in Case 2 is degraded because of the mixed high-level noise. Yet, overall, the performance of the NLIO-TV and NLIO-FG is better than that of the NLO, especially the NLIO-TV.
Case 3.
The initial values of the attitude and gyro bias were the same as in Case 2. The accelerometer noise and magnetometer noise were five times as the above cases, such that η 1 N ( 0 , ( 5 × 5 × 10 3 g ) 2 ) , η 2 N ( 0 , ( 5 × 8 × 10 3 G ) 2 ) in 110 s t 190 s . About this case, the proposed observer tuning gains were set to K 1 = 5.5 I 3 × 3 , K 2 = 1.8 I 3 × 3 . As seen in Figure 9, Figure 10 and Figure 11, between 110 s and 190 s, all observers are sensitive to the added noise, and the auxiliary observers of the NLIOs still have a strong attenuating effect on the added noise, especially that of the NLIO-TV. In general, the auxiliary observer with time-varying gains works better on reducing the impact of vector sensor noise in all cases. Moreover, the NLIO-TV still performs significantly better than the others.
Case 4.
In the above cases, we conclude that it is necessary to choose time-varying gains for the auxiliary observer. In order to compare the performance of the NLO and the NLIO-TV, we made the following comparison and still ran 100 times the same conditions of Case 2. The results in Figure 12 and Figure 13 show that the NLIOs have significant advantages in attitude estimation and gyro bias estimation than the NLOs. Furthermore, the MAEs in Table 5 prove this. Meanwhile, we can obtain that the NLIO has a lower sensitivity to K P than the NLO.

5.2. Simulation B: Comparison of NLCO, MEKF, and NLIO-TV

In this section, we addressed a simulation to compare the performance of the NLIO-TV against the NLCO and the MEKF. The initial attitude was generated randomly from a uniform distribution [ π , π ] , and the initial gyro bias was [ 0 , 0 , 0 ] T rad / s . The noise of the accelerometer and magnetometer was set to η 1 0.8 N ( 0 , ( 5 × 10 3 g ) 2 ) + 0.2 N ( 0 , ( 5 × 10 2 g ) 2 ) , η 2 0.8 N ( 0 , ( 8 × 10 3 G ) 2 ) + 0.2 N ( 0 , ( 8 × 10 2 G ) 2 ) . In this case, the initial attitude values were randomly selected in a domain, and the vector measurement noise was mixed Gaussian noise. We chose the gyro bias parameters and the vector measurement parameters of the NLCO as b 1 = 1.5 , b 1 = 0.3 , and m 1 = m 2 = 0.02 . Fix the tuning gains for the attitude observers in the NLIO-TV as K P = 1.5 I 3 × 3 , k v = 0.2 I 3 × 3 . The initial covariance matrix of the NLIO-TV and the MEKF were P N L I O 0 | 0 = blkdiag ( 10 5 I 3 × 3 , 5 × 10 7 I 3 × 3 ) and P M E K F 0 | 0 = blkdiag ( 10 4 I 3 × 3 , 1 × 10 7 I 3 × 3 ) , respectively.
The results in Figure 14 and Figure 15 show that the NLIO-TV has notable advantages in attitude estimation and gyro bias estimation than the NLCO and MEKF in the transient phase. With large initial angle errors, the NLIO-TV converge more quickly than the NLCO and MEKF, which is because the MEKF only works well at small initial angle errors. In the steady-state phase, the MEKF performs better than the NLCO and NLIO-TV. Although MEKF performs well at the steady-state phase, it is a locally stable observer and requires strict initial conditions. Furthermore, the MAEs and RSMEs in Table 6 and Table 7 also record the excellent performance of NLIO-TV in the transient phase. Overall, the NLIO-TV is superior to the NLCO.

5.3. Discussion

Notice that the convergence speed of the attitude and gyro bias estimation errors can be controlled by tuning the attitude observer’s tunable parameters. As discussed in Section 3.4, cascaded observer tuning usually selects the proper values of K P and k v first, and then adjusts the linear system gains to get stability. Previous results show that the accuracy of the NLIO will not be greatly affected by K P , which indicates that the auxiliary observer reduces part of the vector sensor noise before estimating the attitude and gyro bias. However, the selection of K P can influence the initial convergence rate of the NLIO.
Although the NLIO increases the computational burden, it can obtain more accurate estimates because of more adaptable and insensitive characteristics to the given K P and k v . Furthermore, for the NLIO-FG, it is not easy to select a fixed gain for each channel, and constant adjustment is required to achieve excellent attitude estimation.
Therefore, the best choice is the NLIO-TV, which adds the gyro and vector measurement noise terms to the observer error model. By scaling Q and R v , uncertain noise and small interference items can also be considered. Besides, when the vector measurement noise is small, the NLO can be used to save calculation time.
When vector measurements have high noise levels, the NLIO-TV has apparent advantages because of the following reasons:
  • The auxiliary observer is designed by avoiding injecting more measurement noise, which is reflected in the estimated vector measurement used in the first term of the dynamic equation.
  • The auxiliary observer weakens the measurement noise when estimating the vector measurements. Utilizing the estimated vector measurement for estimating the attitude and gyro bias can effectively improve accuracy and robustness.
  • Noise terms are taken into account in its filtering part. The previous derivation shows that the NLIO-FG also has the first two advantages.
Lastly, according to Section 4, it is worth noting that as long as the noise terms or small interference terms are bounded, the estimation errors of the attitude, gyro bias, and vector measurement are bounded.

6. Conclusions

We have introduced an interconnected observer with global exponential stability for attitude and gyro bias estimation by designing its structure, analyzing its stability and robustness to noise, and evaluating its performance through simulation. To obtain better accuracy and robustness, we have further proposed a method to compute the time-varying gains of the auxiliary observer by adding noise terms to the error dynamics model. The simulation results showed that our approach with time-varying gains is conducive to the rapid convergence of attitude and gyro bias estimation and suppression of vector measurement noise compared with other nonlinear observers. Future work will concentrate on utilizing time-varying reference vectors in the proposed observer and extending the proposed observer in the GNSS/INS system, which can be simulated and validated using NaveGo [36].

Author Contributions

Conceptualization, H.G.; methodology, H.G.; software, H.G.; validation, H.G., H.L. and X.H.; formal analysis, H.G. and Y.Z.; investigation, H.G., X.H. and H.L.; resources, H.L., X.H. and Y.Z.; data curation, H.G. and Y.Z.; writing—original draft preparation, H.G.; writing—review and editing, H.G. and X.H.; visualization, H.G. and Y.Z.; supervision, H.L.; project administration, H.G.; funding acquisition, H.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by National Nature Science Foundation of China, grant number 51475377.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A. Proof of Theorem 2

Proof. 
Proof. Under Assumption 4, consider the bounded input u 1 = [ η ω , η v ] T , thus η ω u 1 , η 1 u 1 and η 2 u 1 . From Equations (9) and (32), get that Γ ¯ Γ = A N A ¯ B T A N A B T = A N ( A ¯ B T A B T ) . Define ε Γ = Γ ¯ Γ and ε : = A ¯ B A B , then it is possible to write ε Γ = A N ε T , where ε = [ η 1 η 2 v 1 × η 2 + η 1 × v 2 + η 1 × η 2 ] . Then the error dynamics of attitude observer Equation (34) can be written as
{ R ˜ ˙ = R ˜ S ( ω m b ω ) ( R R ˜ ) S ( b ˜ ω ) ( R R ˜ ) S ( η ω ) θ K P Γ θ K P ε Γ b ˜ ˙ ω = proj ( b ^ ω , τ ( Γ ) + τ ( ε Γ ) )
where τ ( ε Γ ) = k v vex ( a ( R ^ s T K P ε Γ ) ) . Using the Lyapunov-like function in [18],
V 1 : = 1 2 R ˜ 2 μ tr ( S ( b ˜ ω ) R T R ˜ ) + μ θ k v b ˜ ω b ˜ ω T
where 0 < μ < 1 . Its derivative accompanying the above noisy error dynamics is
V ˙ 1 = tr ( R ˜ T R ˜ ˙ ) μ tr ( S ( b ˜ ˙ ω ) R T R ˜ ) μ tr ( S ( b ˜ ω ) R ˙ T R ˜ ) μ tr ( S ( b ˜ ω ) R T R ˜ ˙ ) + 2 μ θ k v b ˜ ω T b ˜ ˙ ω = tr ( R ˜ T R ˜ S ( ω m b ω ) R ˜ T ( R R ˜ ) S ( b ˜ ω ) R ˜ T ( R R ˜ ) S ( η ω ) θ R ˜ T K P Γ θ R ˜ T K P ε Γ ) + μ tr ( S ( proj ( b ^ ω , τ ( Γ ) + τ ( ε Γ ) ) ) R T R ˜ ) μ tr ( S ( b ˜ ω ) S T ( ω m b ω ) R T R ˜ ) μ tr ( S ( b ˜ ω ) R T R ˜ S ( ω m b ω + b ˜ ω ) ) + μ tr ( S ( b ˜ ω ) R T ( R R ˜ ) ( b ˜ ω ) ) + μ θ tr ( S ( b ˜ ω ) R T K P Γ ) + μ θ tr ( S ( b ˜ ω ) R T ( R R ˜ ) S ( η ω ) ) + μ θ tr ( S ( b ˜ ω ) R T K P ε Γ ) 2 μ θ k v b ˜ ω T ( proj ( b ^ ω , τ ( Γ ) + τ ( ε Γ ) ) )
Combining the recalled equation Γ = A N A N T R ˜ T with Property 1, we get
tr ( R ˜ T K P Γ ) = tr ( R ˜ T K P A N A N T R ˜ ) = tr ( K P A N A N T R ˜ T R ˜ ) λ min ( K P ) λ min ( A N A N T ) tr ( R ˜ T R ˜ ) = λ min ( K P ) λ min ( A N A N T ) R ˜ 2 β 1 λ min ( K P ) R ˜ 2
where λ min ( K P ) denotes the minimum eigenvalue of K P . In accordance with the definition of ε and ε Γ , and the inequality v 1 × v 2 2 2 2 ( v 1 2 + v 2 2 ) appeared in preceding section, we can bound the above with
ε = ( η 1 2 + η 2 2 + v 1 × η 2 + η 1 × v 2 + η 1 × η 2 2 ) 1 / 2 ( 2 u 1 2 + 2 v 1 2 η 2 2 + 2 v 2 2 η 1 2 + 2 η 1 × η 2 2 ) 1 / 2 ( 2 u 1 2 + 4 L A 2 u 1 2 + 2 2 ( η 1 2 + η 2 2 ) ) 1 / 2 ( ( 2 + 4 L A 2 ) u 1 2 + 4 2 u 1 2 ) 1 / 2 = ( 2 + 4 2 + 4 L A 2 ) 1 / 2 u 1
thus, ε Γ A N ε L A ( 2 + 4 2 + 4 L A 2 ) 1 / 2 u 1 β 3 u 1 , for some β 3 > 0 .
Then recall | tr ( U ) | 3 U , thus tr ( R ˜ T R S ( b ˜ ω ) ) 6 R ˜ b ˜ ω , tr ( R ˜ T R S ( η ω ) ) 6 R ˜ u 1 , and
| tr ( R ˜ T K P ε Γ ) | 3 K P R ˜ T ε Γ 3 K P R ˜ ε Γ 3 β 3 K P R ˜ u 1 β 4 R ˜ u 1
for some β 4 > 0 . Then using some properties mentioned in Section 2, the first term of V ˙ 1 is bounded by θ β 1 λ min ( K P ) R ˜ 2 + 6 R ˜ b ˜ ω + 6 R ˜ u 1 + θ β 4 R ˜ u 1 . Under Assumption 2 and 3, we give ω m b ω L ω , b ˜ ω L b ˜ , such that the third term is bounded by 2 3 μ L ω R ˜ b ˜ ω . Similarity, the fourth term is bounded by 2 3 μ ( L ω + L b ˜ ) R ˜ b ˜ ω , and the bounds on the seventh and eighth terms are 2 3 μ b ˜ ω u 1 + 2 3 μ L b R ˜ u 1 and 6 θ μ β 3 K P b ˜ ω u 1 . According to the properties of matrix trace, we can bound the fifth term by 2 μ b ˜ ω 2 . For the second term, recalling that Proj ( b ^ ω , τ ) τ , then we obtain Proj ( b ^ ω , τ ( Γ ) ) 3 2 | k v | K P L A 2 R ˜ / 2 , Proj ( b ^ ω , τ ( ε Γ ) ) 3 2 K P L A 2 β 3 u 1 / 2 , therefore, we have
μ tr ( S ( proj ( b ^ ω , τ ( Γ ) + τ ( ε Γ ) ) ) R T R ˜ ) 3 3 μ | k v | K P L A 2 R ˜ 2 + 3 3 μ K P L A 2 β 3 u 1 R ˜
Think of the sixth term and the last term together, and use the inequality in [18], giving
μ θ tr ( S ( b ˜ ω ) R T K P Γ ) 2 μ θ k v b ˜ ω T ( proj ( b ^ ω , τ ( Γ ) + τ ( ε Γ ) ) ) 6 μ θ K P L b ˜ L A 2 R ˜ 2 μ θ tr ( S ( b ˜ ω ) R s T K P ε Γ ) 6 μ θ K P L b ˜ L A 2 R ˜ 2 + 6 μ θ β 3 K P L b ˜ R ˜ u 1
Combine all terms of V ˙ , and then we have
V ˙ 1 θ β 1 λ min ( K P ) R ˜ 2 + 6 R ˜ b ˜ ω + 6 R ˜ u 1 + θ β 4 R ˜ u 1 + 3 3 μ | k v | K P L A 2 R ˜ 2 + 3 3 μ K P L A 2 β 3 R ˜ u 1 + 2 3 μ L ω R ˜ b ˜ ω + 2 3 μ ( L ω + L b ˜ ) R ˜ b ˜ ω 2 μ b ˜ ω 2 + 2 3 μ b ˜ ω u 1 + 2 3 μ L b R ˜ u 1 + 6 θ μ β 3 K P b ˜ ω u 1 + 6 θ μ K P L b ˜ L A 2 R ˜ 2 + 6 θ μ β 3 K P L b ˜ R ˜ u 1 β 2 ( R ˜ 2 + b ˜ ω 2 ) + β 5 ( R ˜ + b ˜ ω ) u 1 β 2 ξ 2 + β 6 ξ u 1
for some β 2 > 0 , β 5 > 0 and β 6 > 0 . Where ξ = ( R ˜ 2 + b ˜ ω 2 ) 1 / 2 , we can see that ξ represents the norm of estimation error [ R ˜ , b ˜ ω ] T . Since β 6 > 0 , given 0 < < 1 , rewrite the above inequality as
V ˙ 1 β 2 ( 1 ) ξ 2 β 2 ξ ( ξ β 6 β 2 u 1 )
Hence, for all ξ β 6 u 1 / β 2 , there exists V ˙ β 2 ( 1 ) ξ 2 . This proof is invoking Theorem 4.19 in [37]. That means the error dynamics of the attitude observer are input-to-state stable with the bounded input signals. □

Appendix B. Proof of Theorem 3

Proof. 
Under Assumption 4, consider the bounded input u 2 = [ b ˜ ω , η u , η v ] T and the estimated error x ˜ = [ v ˜ 1 , v ˜ 2 ] T , then define the Lyapunov-like function V ˙ 2 = x ˜ 2 / 2 . Recall that d ˜ L 1 b ˜ ω and K is positive, it is easy to indicate that
V ˙ 2 = 1 2 ( x ˜ ˙ T x ˜ + x ˜ T x ˜ ˙ ) = 1 2 x ˜ T ( K + K T ) x ˜ + x ˜ T d ˜ x ˜ T K η v + x ˜ T η u λ min ( K ) x ˜ 2 + 2 L 1 x ˜ u 2 λ min ( K ) x ˜ u 2 + x ˜ u 2 = λ x ˜ 2 + α x ˜ u 2
where λ = λ min ( K ) , α = 2 L 1 + 1 λ . Fix 0 < χ < 1 , the above inequality can be rewritten as
V ˙ 2 λ ( 1 χ ) x ˜ 2 λ χ x ˜ ( x ˜ α λ χ u 2 )
Thus, for all x ˜ α u 2 / λ χ , such that V ˙ 2 λ ( 1 χ ) x ˜ 2 . This proof is invoking Theorem 4.19 in [37]. □

References

  1. Ko, N.; Jeong, S.; Hwang, S.; Pyun, J.-Y. Attitude Estimation of Underwater Vehicles Using Field Measurements and Bias Compensation. Sensors 2019, 19, 330. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  2. de Marina, H.G.; Espinosa, F.; Santos, C. Adaptive UAV Attitude Estimation Employing Unscented Kalman Filter, FOAM and Low-Cost MEMS Sensors. Sensors 2012, 12, 9566–9585. [Google Scholar] [CrossRef] [PubMed] [Green Version]
  3. Gui, H.; de Ruiter, A.H.J. Quaternion Invariant Extended Kalman Filtering for Spacecraft Attitude Estimation. J. Guid. Control Dyn. 2018, 41, 863–878. [Google Scholar] [CrossRef]
  4. Shuster, M.D.; Oh, S.D. Three-axis attitude determination from vector observations. J. Guid. Control 1981, 4, 70–77. [Google Scholar] [CrossRef]
  5. Farhangian, F.; Landry, R. Accuracy Improvement of Attitude Determination Systems Using EKF-Based Error Prediction Filter and PI Controller. Sensors 2020, 20, 4055. [Google Scholar] [CrossRef]
  6. Chiella, A.C.B.; Teixeira, B.O.S.; Pereira, G.A.S. Quaternion-Based Robust Attitude Estimation Using an Adaptive Unscented Kalman Filter. Sensors 2019, 19, 2372. [Google Scholar] [CrossRef] [Green Version]
  7. Wu, X.; Ma, K. Attitude Estimation Based on Robust Information Cubature Quaternion Filter. Circuits Syst. Signal Process. 2020, 39, 2948–2967. [Google Scholar] [CrossRef]
  8. Guerrero-Castellanos, J.; Madrigal-Sastre, H.; Durand, S.; Torres, L.; Muñoz-Hernández, G. A Robust Nonlinear Observer for Real-Time Attitude Estimation Using Low-Cost MEMS Inertial Sensors. Sensors 2013, 13, 15138–15158. [Google Scholar] [CrossRef] [Green Version]
  9. Grip, H.F.; Fossen, T.I.; Johansen, T.A.; Saberi, A. A nonlinear observer for integration of GNSS and IMU measurements with gyro bias estimation. In Proceedings of the 2012 American Control Conference (ACC), Montreal, QC, USA, 27–29 June 2012; pp. 4607–4612. [Google Scholar]
  10. Hamel, T.; Mahony, R. Attitude estimation on SO[3] based on direct inertial measurements. In Proceedings of the 2006 IEEE International Conference on Robotics and Automation, 2006, ICRA 2006, Orlando, FL, USA, 15–19 May 2006; pp. 2170–2175. [Google Scholar]
  11. Mahony, R.; Hamel, T.; Pflimlin, J.-M. Nonlinear Complementary Filters on the Special Orthogonal Group. IEEE Trans. Autom. Control 2008, 53, 1203–1218. [Google Scholar] [CrossRef] [Green Version]
  12. Grip, H.F.; Fossen, T.I.; Johansen, T.A.; Saberi, A. Attitude Estimation Using Biased Gyro and Vector Measurements with Time-Varying Reference Vectors. IEEE Trans. Autom. Control 2012, 57, 1332–1338. [Google Scholar] [CrossRef] [Green Version]
  13. Grip, H.F.; Fossen, T.I.; Johansen, T.A.; Saberi, A. Nonlinear observer for GNSS-aided inertial navigation with quaternion-based attitude estimation. In Proceedings of the 2013 American Control Conference, Washington, DC, USA, 17–19 June 2013; pp. 272–279. [Google Scholar]
  14. Grip, H.F.; Saberi, A.; Johansen, T.A. Observers for cascaded nonlinear and linear systems. In Proceedings of the IEEE Conference on Decision and Control and European Control Conference, Orlando, FL, USA, 12–15 December 2011; pp. 3331–3337. [Google Scholar]
  15. Grip, H.F.; Saberi, A.; Johansen, T.A. Observers for interconnected nonlinear and linear systems. Automatica 2012, 48, 1339–1346. [Google Scholar] [CrossRef] [Green Version]
  16. Batista, P.; Silvestre, C.; Oliveira, P. Sensor-Based Globally Asymptotically Stable Filters for Attitude Estimation: Analysis, Design, and Performance Evaluation. IEEE Trans. Autom. Control 2012, 57, 2095–2100. [Google Scholar] [CrossRef]
  17. Batista, P.; Silvestre, C.; Oliveira, P. Globally exponentially stable cascade observers for attitude estimation. Control Eng. Pract. 2012, 20, 148–155. [Google Scholar] [CrossRef]
  18. Grip, H.F.; Fossen, T.I.; Johansen, T.A.; Saberi, A. Globally exponentially stable attitude and gyro bias estimation with application to GNSS/INS integration. Automatica 2015, 51, 158–166. [Google Scholar] [CrossRef]
  19. Bryne, T.H.; Fossen, T.I.; Johansen, T.A. Nonlinear observer with time-varying gains for inertial navigation aided by satellite reference systems in dynamic positioning. In Proceedings of the 22nd Mediterranean Conference on Control and Automation, Palermo, Italy, 16–19 June 2014; pp. 1353–1360. [Google Scholar]
  20. Fusini, L.; Fossen, T.I.; Johansen, T.A. Nonlinear Observers for GNSS- and Camera-Aided Inertial Navigation of a Fixed-Wing UAV. IEEE Trans. Control Syst. Technol. 2018, 26, 1884–1891. [Google Scholar] [CrossRef]
  21. Martin, P.; Sarras, I. A global observer for attitude and gyro biases from vector measurements. IFAC-PapersOnLine 2017, 50, 15409–15415. [Google Scholar] [CrossRef]
  22. Martin, P.; Sarras, I. Global Exponential Attitude and Table 1 Gyro Bias Estimation from Vector Measurements. In Geometric Science of Information; Nielsen, F., Barbaresco, F., Eds.; Lecture Notes in Computer Science; Springer International Publishing: Cham, Switzerland, 2017; Volume 10589, pp. 345–351. ISBN 978-3-319-68444-4. [Google Scholar]
  23. Batista, P.; Silvestre, C.; Oliveira, P. A GES attitude observer with single vector observations. Automatica 2012, 48, 388–395. [Google Scholar] [CrossRef]
  24. Batista, P.; Silvestre, C.; Oliveira, P. Globally exponentially stable attitude observer with Earth velocity estimation. Asian J. Control 2019, 21, 1409–1422. [Google Scholar] [CrossRef]
  25. Nonlinear Observers for Integrated INS\/GNSS Navigation: Implementation Aspects. IEEE Control Syst. 2017, 37, 59–86. [CrossRef] [Green Version]
  26. Hansen, J.M.; Fossen, T.I.; Arne Johansen, T. Nonlinear observer design for GNSS-aided inertial navigation systems with time-delayed GNSS measurements. Control Eng. Pract. 2017, 60, 39–50. [Google Scholar] [CrossRef]
  27. Johansen, T.A.; Hansen, J.M.; Fossen, T.I. Nonlinear Observer for Tightly Integrated Inertial Navigation Aided by Pseudo-Range Measurements. J. Dyn. Syst. Meas. Control Trans. ASME 2017, 139, 011007. [Google Scholar] [CrossRef]
  28. Batista, P. Robustness to measurement noise of a globally convergent attitude observer with topological relaxations. Nonlinear Dyn. 2019, 98, 589–600. [Google Scholar] [CrossRef]
  29. Martin, P.; Sarras, I. Nonlinear attitude estimation from biased vector and gyro measurements. In Proceedings of the 2018 IEEE Conference on Decision and Control (CDC), Miami Beach, FL, USA, 17–19 December 2018; pp. 1385–1390. [Google Scholar]
  30. Magnis, L.; Petit, N. Angular velocity nonlinear observer from vector measurements. Automatica 2017, 75, 46–53. [Google Scholar] [CrossRef] [Green Version]
  31. Magnis, L.; Petit, N. Angular Velocity Nonlinear Observer from Single Vector Measurements. IEEE Trans. Autom. Control 2016, 61, 2473–2483. [Google Scholar] [CrossRef] [Green Version]
  32. Magnis, L.; Petit, N. Angular velocity and torque estimation from vector measurements. IFAC-PapersOnLine 2017, 50, 9000–9007. [Google Scholar] [CrossRef]
  33. Crassidis, J.L.; Junkins, J.L. Optimal Estimation of Dynamic Systems; Chapman & Hall/CRC Applied Mathematics and Nonlinear Science Series; Chapman & Hall/CRC: Boca Raton, FL, USA, 2004; pp. 451–462. ISBN 978-1-58488-391-3. [Google Scholar]
  34. Hua, M.-D. Attitude estimation for accelerated vehicles using GPS/INS measurements. Control Eng. Pract. 2010, 18, 723–732. [Google Scholar] [CrossRef]
  35. Markley, F.L. Attitude Error Representations for Kalman Filtering. J. Guid. Control Dyn. 2003, 26, 311–317. [Google Scholar] [CrossRef]
  36. Gonzalez, R.; Giribet, J.I.; Patino, H.D. NaveGo: A simulation framework for low-cost integrated navigation systems. Control Eng. Appl. Inform. 2015, 17, 110–120. [Google Scholar]
  37. Khalil, H.K. Nonlinear Systems, 3rd ed.; Prentice Hall: Upper Saddle River, NJ, USA, 2002; pp. 174–180. ISBN 978-0-13-067389-3. [Google Scholar]
Figure 1. Overall structure of the total observer. 1 denotes the attitude observer. 2 denotes the auxiliary observer.
Figure 1. Overall structure of the total observer. 1 denotes the attitude observer. 2 denotes the auxiliary observer.
Sensors 20 06514 g001
Figure 2. Structure of the nonlinear 1 and linear 2 interconnected system.
Figure 2. Structure of the nonlinear 1 and linear 2 interconnected system.
Sensors 20 06514 g002
Figure 3. Averaged absolute vector measurement estimation errors over 100 simulations for Case 1. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the nonlinear observer (NLO) and nonlinear interconnected observer (NLIO). (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. Since the NLO does not estimate the vector measurements, its vector measurement errors are identical to the difference between the sensor measurements and the truth values. The measurement errors’ formula is expressed as | v m v t r u t h | . For the NLIO, the vector measurement estimation error refers to the difference between the sensor measurement value and the truth value. Its formula is expressed as | v ^ v t u t h | . To interpret the references to the color and line types in this figure, readers are invited to refer to the web version of this article.
Figure 3. Averaged absolute vector measurement estimation errors over 100 simulations for Case 1. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the nonlinear observer (NLO) and nonlinear interconnected observer (NLIO). (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. Since the NLO does not estimate the vector measurements, its vector measurement errors are identical to the difference between the sensor measurements and the truth values. The measurement errors’ formula is expressed as | v m v t r u t h | . For the NLIO, the vector measurement estimation error refers to the difference between the sensor measurement value and the truth value. Its formula is expressed as | v ^ v t u t h | . To interpret the references to the color and line types in this figure, readers are invited to refer to the web version of this article.
Sensors 20 06514 g003
Figure 4. Averaged absolute attitude estimation error over 100 simulations for Case 1.
Figure 4. Averaged absolute attitude estimation error over 100 simulations for Case 1.
Sensors 20 06514 g004
Figure 5. Averaged absolute gyro bias estimation errors over 100 simulations for Case 1.
Figure 5. Averaged absolute gyro bias estimation errors over 100 simulations for Case 1.
Sensors 20 06514 g005
Figure 6. Averaged absolute vector measurement estimation errors over 100 simulations for Case 2. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. The first column: comparisons of NLO, NLIO-FG, and NLIO-TV. The second column: comparisons of NLIO-FG and NLIO-TV. (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. The first column: comparisons of NLO, NLIO-FG, and NLIO-TV. The second column: comparisons of NLIO-FG and NLIO-TV.
Figure 6. Averaged absolute vector measurement estimation errors over 100 simulations for Case 2. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. The first column: comparisons of NLO, NLIO-FG, and NLIO-TV. The second column: comparisons of NLIO-FG and NLIO-TV. (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. The first column: comparisons of NLO, NLIO-FG, and NLIO-TV. The second column: comparisons of NLIO-FG and NLIO-TV.
Sensors 20 06514 g006
Figure 7. Averaged absolute attitude estimation error over 100 simulations for Case 2.
Figure 7. Averaged absolute attitude estimation error over 100 simulations for Case 2.
Sensors 20 06514 g007
Figure 8. Averaged absolute gyro bias estimation errors over 100 simulations for Case 2.
Figure 8. Averaged absolute gyro bias estimation errors over 100 simulations for Case 2.
Sensors 20 06514 g008
Figure 9. Averaged absolute vector measurement estimation errors over 100 simulations for Case 3. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs.
Figure 9. Averaged absolute vector measurement estimation errors over 100 simulations for Case 3. (a) Accelerometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs. (b) Magnetometer measurement estimation errors evaluated by the auxiliary observers of the NLO and NLIOs.
Sensors 20 06514 g009
Figure 10. Averaged absolute attitude estimation error between 100 s and 200 s over 100 simulations for Case 3.
Figure 10. Averaged absolute attitude estimation error between 100 s and 200 s over 100 simulations for Case 3.
Sensors 20 06514 g010
Figure 11. Averaged absolute gyro bias estimation errors between 100 s and 200 s over 100 simulations for Case 3.
Figure 11. Averaged absolute gyro bias estimation errors between 100 s and 200 s over 100 simulations for Case 3.
Sensors 20 06514 g011
Figure 12. Averaged absolute attitude estimation error over 100 simulations.
Figure 12. Averaged absolute attitude estimation error over 100 simulations.
Sensors 20 06514 g012
Figure 13. Averaged absolute gyro bias estimation errors over 100 simulations.
Figure 13. Averaged absolute gyro bias estimation errors over 100 simulations.
Sensors 20 06514 g013
Figure 14. Averaged absolute attitude estimation error over 100 simulations.
Figure 14. Averaged absolute attitude estimation error over 100 simulations.
Sensors 20 06514 g014
Figure 15. Averaged absolute gyro bias estimation errors over 100 simulations.
Figure 15. Averaged absolute gyro bias estimation errors over 100 simulations.
Sensors 20 06514 g015
Table 1. MAEs of attitude for all the nonlinear observers in Case 1.
Table 1. MAEs of attitude for all the nonlinear observers in Case 1.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
NLO0.61960.09850.36620.11490.07480.3495
NLO-a1.03760.12330.25570.09200.05100.2015
NLIO-FG0.64990.12000.20950.16610.07780.1689
NLIO-TV0.61800.08750.20510.09300.05150.1661
Table 2. RMSEs of attitude for all the nonlinear observers in Case 1.
Table 2. RMSEs of attitude for all the nonlinear observers in Case 1.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
NLO1.08231.01710.11040.09360.43790.0933
NLO-a1.77341.48170.13320.06350.25240.0772
NLIO-FG1.09230.94480.17860.09610.21100.1450
NLIO-TV1.08250.94420.10770.06410.20770.0776
Table 3. MAEs of attitude for all the observers in Case 2.
Table 3. MAEs of attitude for all the observers in Case 2.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
NLO0.19720.14780.75140.19680.14760.7498
NLO-a0.13310.09040.42930.12950.08860.4280
NLIO-FG0.19020.10370.27570.18360.09910.2566
NLIO-TV0.14000.07260.23410.10610.06490.2253
Table 4. RMSEs of attitude for all the observers in Case 2.
Table 4. RMSEs of attitude for all the observers in Case 2.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
NLO0.18530.94190.15760.18500.94000.1573
NLO-a0.11330.53830.10690.11090.53640.1043
NLIO-FG0.12890.37040.15850.12340.32130.1548
NLIO-TV0.10790.34610.09900.08100.28200.0870
Table 5. MAEs of attitude for NLO and NLIO-TV with different parameters.
Table 5. MAEs of attitude for NLO and NLIO-TV with different parameters.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
NLO0.19690.14800.75080.19680.14760.7523
NLO-a0.13300.09040.42960.12960.08840.4302
NLIO-TV0.13040.08700.29010.12520.08420.2818
NLIO-TV-a0.12370.07610.26410.11120.07100.2537
Table 6. MAEs of attitude for all observers.
Table 6. MAEs of attitude for all observers.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
MEKF3.83762.96064.78220.06890.06810.0950
NLCO4.61821.98676.94150.16670.08780.1477
NLIO-TV2.13990.33710.51070.09640.05330.1777
Table 7. RMSEs of attitude for all observers.
Table 7. RMSEs of attitude for all observers.
Transient (0–200 s)Steady-State (300–500 s)
Roll (deg)Pitch (deg)Yaw (deg)Roll (deg)Pitch (deg)Yaw (deg)
MEKF6.545510.7851.35730.06890.11780.0556
NLCO7.098616.9981.21300.16670.17980.1423
NLIO-TV3.62503.32970.34480.09640.22160.0813
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Guo, H.; Liu, H.; Hu, X.; Zhou, Y. A Global Interconnected Observer for Attitude and Gyro Bias Estimation with Vector Measurements. Sensors 2020, 20, 6514. https://doi.org/10.3390/s20226514

AMA Style

Guo H, Liu H, Hu X, Zhou Y. A Global Interconnected Observer for Attitude and Gyro Bias Estimation with Vector Measurements. Sensors. 2020; 20(22):6514. https://doi.org/10.3390/s20226514

Chicago/Turabian Style

Guo, Huijuan, Huiying Liu, Xiaoxiang Hu, and Yan Zhou. 2020. "A Global Interconnected Observer for Attitude and Gyro Bias Estimation with Vector Measurements" Sensors 20, no. 22: 6514. https://doi.org/10.3390/s20226514

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