You are on page 1of 6

A Nonlinear Observer for Integration of

GNSS and IMU Measurements with Gyro Bias Estimation


Hvard Fjr Grip?, , Thor I. Fossen , Tor A. Johansen , and Ali Saberi?
? School of Electrical Engineering and Computer Science, Washington State University, Pullman, WA 99164, USA
Department of Engineering Cybernetics, Norwegian University of Science and Technology, 7491 Trondheim, Norway

Abstract We present an observer for estimating position, based only on GNSS velocity together with inertial and
velocity, attitude, and gyro bias, by using inertial measure- magnetometer measurements.
ments of accelerations and angular velocities, magnetometer
measurements, and satellite-based measurements of position A. Topics of This Paper
and (optionally) velocity. The design proceeds in two stages: in
Stage I, an attitude and gyro bias estimator is designed based In this paper we consider a problem similar to that of
on an unmeasured signal. In Stage II, that design is recovered Hua [12]specifically, the estimation of attitude, position,
using measured signals only, by combining it with a position and velocity by integrating GNSS, inertial, and magnetometer
and velocity estimator. We prove global exponential stability of data. Unlike Hua, however, we also consider estimation of
the estimation error and test the design using realistic flight gyro bias, which is prevalent in low-cost inertial sensors
simulation.
and typically included in EKF-based solutions. Moreover,
I. I NTRODUCTION we present stability results that guarantee global exponen-
Navigation is the task of determining an objects position, tial convergence. To the authors knowledge, the literature
velocity, or attitude by combining information from different contains no similarly strong stability results for GNSS / INS
sources. The available information varies depending on the integration with gyro bias estimation.
application; however, the combination of satellite receivers, The attitude that we seek to estimate is represented by a
such as GPS, and inertial instruments (i.e., accelerometers and rotation matrix R, which belongs to the special orthogonal
rate gyroscopes) is found in many applications, often together group SO(3). Nevertheless, we do not restrict our estimate R
with additional sensors such as altimeters and magnetome- to SO(3), but rather allow it to develop with nine degrees of
ters. The integration of satellite and inertial measurements, freedom in the transient phase before it converges to R. This
referred to as GNSS / INS integration, has been studied for type of over-parameterization avoids well-known topological
several decades [1][3]. Typically, the integration is based obstructions that prevent global results on SO(3), but it has
on an extended Kalman filter (EKF). the drawback of not guaranteeing an orthogonal attitude
Driven by advances in sensor technology, low-cost satellite estimate at all times. This drawback can be addressed by
receivers and inertial instruments are appearing in an increas- post-orthogonalizing and regularizing the estimate, a strategy
ingly wide range of products, including mobile phones, cars, that is discussed, for example, by Batista, Silvestre, and
and small unmanned vehicles. This development has spurred Oliveira [13], [14], who considered globally exponentially
an interest in constructing observers with lower computa- stable attitude estimation using observers similar to the
tional complexity than the EKF by using tools from nonlinear attitude part of our observer.
control and estimation theory. An advantage of such designs Our overall design is based on a general design methodol-
is that they often come with global or semiglobal stability ogy for interconnected nonlinear and linear systems, recently
proofs. presented by the some of the authors [15], [16]. In these
Most of the effort on navigation observers has been di- papers, a simplified version of the GNSS / INS integration
rected toward the problem of estimating the attitude, usually algorithm, without gyro bias estimation, was used as an
based on an explicit attitude measurement or the comparison application example.
of body-fixed vector measurements with reference vectors in B. Notation and Preliminaries
a reference coordinate system [4][9]. A survey of attitude
estimation methods is given by Crassidis, Markley, and For a vector or matrix X, X 0 denotes its transpose. The
Cheng [10]. Vik and Fossen [11] studied the GNSS / INS operator k k denotes the Euclidean norm for vectors and
integration problem including attitude, position, velocity, and the Frobenius norm for matrices. For a symmetric positive-
inertial sensor bias, with the assumption that the attitude semidefinite matrix A, the minimum eigenvalue is denoted
could be measured independently from the position and by min (A). The skew-symmetric part of a square matrix A
velocity. Hua [12] did not make this assumption, and con- is denoted by Pa (A) = 21 (A A0 ). For a vector x R3 , S(x)
structed two algorithms for estimating attitude and velocity denotes the skew-symmetric matrix
0 x3 x2

The work of Hvard Fjr Grip is supported by the Research Council of
Norway. The work of Ali Saberi is partially supported by NAVY grants S(x) = x3 0 x1 .
ONR KKK777SB001 and ONR KKK760SB0012. x2 x1 0
The linear function vex(A) such that S(vex(A)) = A and We make the following standard assumption to ensure
vex(S(x)) = x is well-defined for all 3 3 skew-symmetric uniform observability (see, e.g., [6], [12]).
matrix arguments. The function sat() denotes a component- Assumption 2: There exists a constant cobs > 0 such that,
wise saturation of its vector or matrix argument to the interval for all t 0, kmb ab k cobs .
[1, 1]. We denote by In the nn identity matrix and by 0mn
III. O BSERVER
the m n matrix with zero elements.
Throughout the paper, we consider all dynamical systems Our design strategy is divided into two stages. In the first
to be initialized at time t = 0. All time-varying signals stage, we construct an observer for R and b (but not pn
are assumed to be at least piecewise continuous. We omit and vn ), which is based on comparing vector measurements
function arguments when possible without confusion. in the BODY coordinate system with reference vectors in
the NED coordinate system; specifically, mb is compared to
II. P ROBLEM F ORMULATION mn , and ab is compared to an . This observer is not directly
We operate with two different coordinate frames, namely, implementable because an is not available as a measurement.
the Earth-fixed North-East-Down frame (NED), and the body- In the second stage, we therefore recover the design using
fixed frame (BODY). The superscripts n and b are used only measured signals, by constructing an observer for pn
to distinguish between these frames. The dynamics of the and vn , as well as an , that is combined with the observer
position, velocity, and attitude is described by the equations designed in the first stage. This two-stage technique is based
on the theory of Grip, Saberi, and Johansen on observer
pn = vn , (1a) design for interconnected systems [15], [16].
vn = an + gn , (1b)
A. Stage I: Observer for R and b
R = RS( b ), (1c)
Let us consider the problem of estimating the attitude R
where pn and vn are position and velocity vectors in NED; and gyro bias b, assuming for the time being that an is
R SO(3) is a rotation matrix from BODY to NED; b is available as a measurement. Since mn = Rmb and an = Rab ,
the angular velocity of the BODY frame relative to the NED we can base the design on comparing mb with mn and ab
frame, decomposed in BODY coordinates; gn is the gravity with an . Specifically, we design an observer
vector in NED; and an is the proper acceleration in NED.1
Our goal is to estimate the position pn , velocity vn , and R = RS(
b
m b) + KP J, (2a)
attitude R with exponential convergence rate. To achieve this b = Proj(b,
kI vex(Pa (R 0s KP J))). (2b)
goal, we shall also introduce an auxiliary bias estimate.
where R s = sat(R).
In the observer (2), J is a stabilizing
A. Measurements output injection term inspired by the TRIAD algorithm [17],
We assume that the sensor suite consists of a GNSS defined as
receiver, 6-axis inertial instruments, and a 3-axis magne- = An A0b RA
J(ab , an , mb , mn , R) b A0b , (3a)
tometer (or another equivalent vector measurement). These
Ab = m mb ab mb (mb ab ) ,
 b
(3b)

instruments provide the following information:
An = mn mn an mn (mn an ) . (3c)
 
measurements of the NED position pn and velocity vn
(in Section III-D we consider the case when only pn is The matrix KP is a symmetric positive-definite gain matrix,
available) and kI is a positive scalar gain. The scalar 1 is a scaling
a biased angular velocity measurement m b = b + b,
factor that will be tuned in order to achieve stability. Finally,
where b represents the bias Proj(, ) denotes a parameter projection [18, App. E], which
an acceleration measurement ab , which is related to an remains smaller than some design constant
ensures that kbk
by an = Rab Mb > Mb . The details of the parameter projection are given
a magnetometer measurement mb , which is related to in the Appendix.
the Earths magnetic field mn at the current location by Defining the estimation errors R = R R and b = b b,
mn = Rmb we obtain the error dynamics
Although we will not perform any explicit differentiations,
we assume that the derivative ab of the BODY acceleration is R = RS( b ) RS(
b
m b) KP J, (4a)
well-defined and bounded. Naturally, we can also assume that b = Proj(b,
kI vex(Pa (R 0s KP J))), (4b)
ab , mb , and b are bounded, and that kmb k is lower-bounded
by a positive constant. We make the following assumption which satisfies the following preliminary lemma.
regarding the gyro bias. Lemma 1: For any given choice of KP and kI , there exists
Assumption 1: The gyro bias b is constant, and there a 1 such that, for all , the origin of the error
exists a known constant Mb > 0 such that kbk Mb . dynamics (4) is exponentially stable with all initial conditions

satisfying kb(0)k Mb contained in the region of attraction.
1 In this paper we assume that the NED frame is an inertial coordinate Proof: Noting that
frame. In high-precision applications, the rotation of the Earth must also be
accounted for in the kinematic equations.
RS( b ) RS( b b
m b) = RS( ) RS(b) + RS(b),
we can rewrite the error dynamics as For the sixth term, we have that tr(S(b)R 0 RS(b)) =
0 2
tr(S (b)S(b)) = 2kbk , where we have used the
R = RS(
b RS(b)
+ b) KP J, (5a) property that tr(S0 (x)S(y)) = 2x0 y (e.g., [6]). For the eight
b = Proj(b,
kI vex(Pa (R 0s KP J))), (5b) term, we have that b 0 Proj(b, kI vex(Pa (R 0s KP J)))
0
kI b vex(Pa (Rs KP J)) 0 1 0 0
= 2 kI tr(S (b)Pa (Rs KP J)) =
which is locally Lipschitz, uniformly in time (see Lemma 1
k tr(S 0 (
b) R 0
s KP J) = kI tr(S(b)R s KP J), where we
1 0
2 I 2
3 in the Appendix regarding the projection). Define the have used the properties that b 0 Proj(b, x) b 0 x
2 . The derivative along the trajectories of
function P = 12 kbk (Lemma 3 of the Appendix) and tr(S(x)X) =
the system is P = b 0 Proj(b,
kI vex(Pa (R 0s KP J))), for which
tr(S(x)Pa (X)) (e.g., [6]). Considering the seventh
we have that kbk M = P 0 (see Lemma 3 in the
b and eight term together, and using the fact that
Appendix). Hence, kbk cannot escape the region defined by 0 KP J)
kR R s k kRk we therefore have ` tr(S(b)R
M for any solution of the system. We shall study the
kbk 0 KP J)
b
0
2` /kI b Proj(b, kI vex(Pa (R s KP J))) ` tr(S(b)R
0
trajectories of the function
` tr(S(b)R s KP J) 6` kKP kMb MA kRk
0 2 .
2

Taking all these inequalities together, we can write


= 1 kRk
b)
V (t, R, 2 ` tr(S(b)R + ` kbk
0 R) 2,
2 kI
V min (KP )c2 kRk 2 + 6kRkk bk
where 0 < ` 1 is yet to be determined, using the knowledge
+ 2 3`M kRkk bk + 2 3`(M + M )kRkk bk
M , which implies kbk
that kbk M := Mb + M . Using b
b b b
the properties 33 and x R3 ) 2 2
+ 3 3`kI kKP kMA kRk 2`kbk 2
that (for arbitrary X R
| tr(X)| 3kXk, kRXk = kXk, and kS(x)k = 2kxk, we + 6` kKP kMb MA kRk 2 2
have 0 q1 `q2 ` q3 q4 `q5 kRk
1 2 kRk
   
V kRk ` 6kbkk + ` kbk
Rk 2, = ,
2 kI kbk q4 `q5 2` kbk
and hence V is positive definite if ` < 1/(3kI ). It follows that for some constants q1 , . . . , q5 that are independent of ` and .
there are positive constants 1 and 2 such that 1 (kRk 2+ Let ` be sufficiently small that q1 `q3 r1 for some r1 > 0,
) V 2 (kRk
kbk 2 + kbk
2 ). The derivative of V along the
2
and note that ` is chosen independently from . Then
trajectories of (5) satisfies
0 r1 `q2 q4 `q5 kRk
kRk
   
V = tr(R 0 R) 0 R)
` tr(S(b)R ` tr(S(b) R 0 R)
V .
kbk q4 `q5 2` kbk
0 R)
` tr(S(b)R + 2` b 0 b The first-order principal minor of the above matrix is positive
kI
if is chosen large enough that > `q2 /r1 . The second-
0 b
= tr(R (RS( + b) RS(b))) tr(R 0 KP J)
order principal minor is positive if is chosen large enough
+ ` tr(S(Proj(b, kI vex(Pa (R 0s KP J))))R0 R)
that > ((q4 + `q5 )2 + 2`2 q2 )/(2`r1 ). Hence, for sufficiently
0 ( b )R0 R)
` tr(S(b)S large , there exists an 3 > 0 such that V 3 (kRk 2+
). By invoking the comparison lemma [20, Lemma 3.4],
kbk 2
RS(
` tr(S(b)R 0 b
+ b)) the exponential stability result follows.
0 0 KP J)
+ ` tr(S(b)R RS(b)) + ` tr(S(b)R
2` 0 B. Stage II: Recovery Using Measured Signals
kI vex(Pa (R 0s KP J))).
b Proj(b,
kI As discussed above, the observer (2) cannot be directly
We consider the terms above more closely, starting implemented, because it depends on the unmeasured variable
with the second term. Since An = RAb , we can write an . However, according to (1a) and (1b), an can be viewed
J = RA b A0 . We then have tr(R 0 KP J) = tr(R 0 KP RA b A0 ) as an input to a linear system with states vn and pn , from
b b
0
min (Ab Ab ) tr(R KP R)
0 =
min (Ab Ab ) tr(RR KP )
0 0 which the outputs pn and vn are available. This results in
min (Ab A0b )min (KP )kRk 2 (see, e.g., [19]). Using a cascaded system structure, illustrated in Fig. 1, that has
Assumption 2 it can be shown that there is a c > 0 previously been studied by Grip et al. in a general context
such that min (Ab A0b ) c2 (see [15], [16]). Hence, [15], [16]. Following the design methodology of Grip et al.,
tr(R 0 KP J) min (KP )c2 kRk 2. we obtain an observer for pn and vn , as well as the NED
Using the property that tr(R 0 RS(x))
= 0 (due to symmetry acceleration an , given by
of R 0
R; see, e.g., [6]), we can bound the first term by

bk. Similarly, we can bound the fourth term by pn = vn + K pp (pn pn ) + K pv (vn vn ), (6a)
6k Rkk
2 3`M kRkk where M is a bound on k b k, and the
bk, vn = an + gn + Kvp (pn pn ) + Kvv (vn vn ), (6b)

fifth term by 2 3`(M + Mb )kRkk Using the additional
bk. = KP Ja
b + K p (pn pn ) + K v (vn vn ), (6c)

properties that k Proj(b, x)k kxk (Lemma 3 in the Ap- b +,
an = Ra (6d)
pendix), k vex(Pa (X))k 12 kXk, kR s k 3, and kJk =
kRA 0 2
where J = J(ab , an , mb , mn , R),
and where K pp , K pv , Kvp , Kvv ,
b Ab k kRkkA b k , we can bound the third term by
3 3`kI kKP kMA kRk 2 , where MA is a bound on kAb k.
2 K p , and K v are observer gains yet to be determined. The
R = RS(w) an = Rab pn = vn (pn , vn ) of the error dynamics (10), (11) is exponentially stable with
b = 0 vn = an + gn
all initial conditions satisfying kb(0)k Mb contained in the
region of attraction. Moreover, K can always be chosen to
satisfy these conditions.
Fig. 1. Illustration of system structure Proof: It is straightforward to verify that the pair (A,C)
is observable and that the triple (A, B,C) is left-invertible
and minimum-phase. It therefore follows from Theorem 2
observer (2) is implemented with J replaced by J: of Grip et al. [16] that K can always be chosen to satisfy the
requirements of Lemma 2. As in the proof of Lemma 1, we
R = RS(
b
m b) + KP J, (7a)
know that the solutions cannot escape the region defined by
b = Proj(b,
kI vex(Pa (R 0s KP J))).
(7b) M .
kbk b
The error dynamics (11) can be written as
The observer (6), (7) depends only on known quantities.
C. Main Result R = RS( b ) RS(
b
m b) KP J + KP J,

In this section we present our main stability result for the b = Proj(b,
(J)) + Proj(b,
(J)) Proj(b,
(J)),

observer (6), (7). Defining the error variables pn = pn pn where J = J J and (J) = kI vex(Pa (R 0s KP J)). We can
and vn = vn vn , we obtain the error dynamics write J = (An A n )A0b , where A n is defined like An with an
pn = vn K pp pn K pv vn , (8a) replaced by an . Since An is linear in an and Ab is bounded,
it follows that k KP Jk s1 kan k for some s1 > 0. Using the
vn = an Kvp pn Kvv vn , (8b)
techniques of the proof of Lemma 1, we can easily show that
where an = an an . To find the dynamics of an , we note that there is an s2 > 0 such that k(J) (J)k s2 kan k. It can
b + Rab = RS( b )ab + Rab and that
an = Ra
therefore be verified that k Proj(b, (J)) Proj(b, (J))k

n
s3 ka k for some s3 > 0. Considering again the function V
b + R ab +
an = Ra from the proof of Lemma 1, we therefore have

= (RS( b b b
m b) + KP J)a + Ra
V 3 (kRk 2 ) + tr(R 0 KP J)
2 + kbk
b + K p (pn pn ) + K v (vn vn )
KP Ja (J)) Proj(b,
` tr(S(Proj(b, (J)))R
0
R)

= RS( b b b n n n n
m b)a + Ra + K p (p p ) + K v (v v ). 0 KP J)
` tr(S(b)R
Hence, 2 ` 0
+ (J)) Proj(b,
b (Proj(b, (J)))

an = K p pn K v vn + d, (9) kI

where d = (RS( b ) RS(
b b b 3 (kRk 2 ) + 3s1 kRkk
2 + kbk an k
m b))a + (R R)a . Defining
n n n
an k + 2 `s3 kbkk
0 0 0 0
the error variable w = [( p ) , (v ) , (a ) ] , we can write the
+ 6`s3 kRkk an k + 6`s1 kbkk an k
error dynamics (8), (9) more compactly as kI

w = (A KC)w + Bd, (10) 3 2 + p1 kwk,

for some p1 > 0, where := (kRk 2 + kbk 2 )1/2 .
where
Next, from following the proof Theorem 1 of Grip et
063 I6 0
   
A= B = 63 ,
, al. [16], there is a function W = w 0 Pw, for some positive-
033 036 I3 2 . Using the
definite matrix P, such that W kwk 2 + 2 kdk
K pp K pv

expression at the beginning of the proof of Lemma 1, we
C = I6 063 , K = Kvp Kvv . can rewrite das (RS(
RS( b + R ab , which is
b))a
 
b )RS(b)+
K p K v bounded by 2(M Ma kRk + Ma kbk + M Ma kRk) + Ma kRk,

b
where Ma and Ma are bounds on kab k and ab . Hence,
The dynamics of the errors R and b becomes the same as W kwk 2 + 2 p22 2 for some p2 > 0.
(4), with J replaced by J: Consider now the function U = W + V , for which we
have
R = RS( b ) RS(
b
m b) KP J,
(11a)
1 21 p1 kwk

  

U kwk
 
b = Proj(b,
kI vex(Pa (R 0s KP J))).
(11b) 12 p1 3 2 p22
.

The following theorem shows that by properly selecting The first-order principal minor of the above matrix is pos-
the gain matrix K, the origin of the error dynamics can be itive, and the second-order principal minor is positive if
rendered exponentially stable. < 43 /(p21 +4p22 ). By invoking the comparison lemma [20,
Lemma 2: Let be chosen to ensure stability according Lemma 3.4], we obtain the desired stability result.
to Lemma 1 and define HK (s) = (Is A + KC)1 B. There The result of Lemma 2 is, for all practical purposes, a
exists a > 0 such that, if the gain matrix K is chosen such global exponential stability result. The only restriction on
that A KC is Hurwitz and kHK (s)k < , then the origin
the initial conditions is that kb(0)k Mb . Any choice of
initial conditions that does not satisfy this restriction is
meaningless, since the actual bias b is known to satisfy
kbk Mb < Mb . Nevertheless, in order to state a formal result
of exponential convergence from arbitrary initial conditions,
we introduce the following resetting rule: 600


If at any time t 0, kb(t)k > Mb , then b is reset to 400

D (m)

b(t) 2000
b(t + ) = Mb . (12) 200

kb(t)k 1000

0
The following result then follows immediately. 0

Theorem 1: Let be chosen to ensure stability according


2500 2000 1000
1500 1000 E (m)
500 0
to Lemma 1. There exists a > 0 such that, if the gain matrix N (m)
K is chosen such that A KC is Hurwitz and kHK (s)k < ,
then the origin of the error dynamics (10), (11) with resetting Fig. 2. True (blue, dashed) and estimated (red, solid) position in local
is globally exponentially stable. Moreover, K can always be North-East-Down coordinates (ground track at zero altitude shown in gray)
chosen to satisfy these conditions.
D. No Velocity Measurement V. S IMULATION
So far we have assumed that the GNSS receiver provides The design is verified by simulating a takeoff, climb and
measurements of both position and velocity. Depending on two steep turns in a Cessna 172, using the flight simulator
the receiver, however, a high-quality velocity measurement X-Plane . Inertial measurements are available at a rate of
may not be available. The lack of a velocity measurement 100 Hz, and GNSS position and velocity measurements are
vn implies that we cannot use terms of the form vn vn in available at 5 Hz. Noise is added to all the measurements.
(6). Calculating the error dynamics in this case, we find that The attitude and gyro bias observer is tuned with the gains
it is still given by (10), (11), but with the matrices C and KP = diag(10, 0.1, 0.1), kI = 0.02, and = 1. We assume
K replaced by C := [I3 , 036 ] and K := [K pp
0 , K 0 , K 0 ]0 . We
vp p that the gyro bias is limited by kbk Mb = 2 /s, and use
can state an equally strong result for this case, which follows Mb = 2.1 /s for the projection. With the help of an LMI
verbatim from the proof of Lemma 2 with C and K replaced formulation that allows kHK (s)k to be reduced as necessary,
by C and K. we choose K pp 128.9I, K pv 17.5I, Kvp 15.7I, Kvv
Theorem 2: Let be chosen to ensure stability according 2.4I, K p 1.3I, and K v 0.2I.
to Lemma 1 and define H K (s) = (Is A + K C) 1 B. There Applying the resulting observer to the simulated measure-

exists a > 0 such that, if the gain matrix K is chosen such ment data, we obtain the results shown in Figs. 25. The
that A K C is Hurwitz and kH K (s)k < , then the origin estimated Euler angles shown in Fig. 4 are derived from R
of the error dynamics (10), (11) with resetting is globally by inverse trigonometry.
exponentially stable. Moreover, K can always be chosen to
satisfy these conditions. VI. C ONCLUDING R EMARKS
Although the design presented in this paper has been
IV. G AIN S ELECTION AND T UNING verified using realistic flight simulation, many potential error
According to above results, the different parts of the sources (such as accelerometer bias, magnetic disturbances,
observer can be tuned sequentially, by first choosing KP , kI , GNSS failure, and mounting errors) are not included in the
and according to Lemma 1 and then choosing K (or K) simulation. The focus of current research is on effectively
to ensure stability of the overall error dynamics. handling such errors, and on evaluating and expanding the
The requirements of Lemma 1 can be met by choosing design based on actual flight tests.
arbitrary gains KP and kI and gradually increasing until
R EFERENCES
stability is achieved. In practice, KP , kI , and should be
chosen through careful tuning; for example, by the use of [1] P. S. Maybeck, Stochastic Models, Estimation, and Control, Volume 1,
ser. Mathematics in Science and Engineering. New York: Academic
simulations. The parameter can be absorbed in KP , which Press, 1979, vol. 141.
can in turn be chosen as a diagonal matrix. In this case, [2] R. Phillips and G. Schmidt, GPS/INS integration, AGARD Lecture
one is left with four tuning parameters. The gain matrix Series: System Implications and Innovative Applications of Satellite
Navigation, vol. 207, pp. 9.19.18, 1996.
K (or K) can be chosen using any preferred gain selection [3] M. S. Grewal, L. R. Weill, and A. P. Andrews, Global Positioning
technique, as long as one is able to reduce the H norm Systems, Inertial Navigation, and Integration. New York: Wiley,
of HK (s) (or H K (s)) as necessary to achieve stability. One 2001.
[4] S. Salcudean, A globally convergent angular velocity observer for
particular possibility is to use LMIs, which allows for easy rigid body motion, IEEE Trans. Automat. Contr., vol. 36, no. 12, pp.
incorporation of additional performance requirements while 14931497, 1991.
bounding the H norm as desired [21], [22]. Additional [5] J. Thienel and R. M. Sanner, A coupled nonlinear spacecraft attitude
controller and observer with an unknown constant gyro bias and gyro
discussion of gain selection using LMIs is given by Grip noise, IEEE Trans. Automat. Contr., vol. 48, no. 11, pp. 20112015,
et al. [15], [16]. 2003.
50 50
N velocity (m/s)

Roll ( )
0 0

50
50
0 50 100 150 200 250 0 50 100 150 200 250
Time (s) Time (s)

50
E velocity (m/s)

10

Pitch ( )
0 5

0
50 5
0 50 100 150 200 250 0 50 100 150 200 250
Time (s) Time (s)
D velocity (m/s)

5 300

Heading ( )
0 200

5 100

0
0 50 100 150 200 250 0 50 100 150 200 250
Time (s) Time (s)

Fig. 3. True (blue, dashed) and estimated (red, solid) velocity in local Fig. 4. True (blue, dashed) and estimated (red, solid) Euler angles
North-East-Down coordinates
1.5
Gyro bias ( /s)

1
[6] R. Mahony, T. Hamel, and J.-M. Pflimlin, Nonlinear complementary
filters on the Special Orthogonal Group, IEEE Trans. Automat. Contr., 0.5
vol. 53, no. 5, pp. 12031218, 2008. 0
[7] R. Mahony, T. Hamel, J. Trumpf, and C. Lageman, Nonlinear
observers on SO(3) for complementary and compatible measurements: 0.5
A theoretical study, in Proc. IEEE Conf. Dec. Contr./Chinese Contr. 0 50 100 150 200 250
Conf., Shanghai, China, 2009, pp. 64076412. Time (s)
[8] H. F. Grip, T. I. Fossen, T. A. Johansen, and A. Saberi, Attitude
estimation based on time-varying reference vectors with biased gyro
Fig. 5. True (blue, dashed) and estimated (red, solid) gyro bias
and vector measurements, in Proc. IFAC World Congr., Milan, Italy,
2011, pp. 84978502.
[9] , Attitude estimation using biased gyro and vector measurements
with time-varying reference vectors, IEEE Trans. Automat. Contr., [21] M. Chilali and P. Gahinet, H design with pole placement constraints:
2012, to appear. An LMI approach, IEEE Trans. Automat. Contr., vol. 41, no. 3, pp.
[10] J. L. Crassidis, F. L. Markley, and Y. Cheng, Survey of nonlinear 358367, 1996.
attitude estimation methods, J. Guid. Contr. Dynam., vol. 30, no. 1, [22] M. Chilali, P. Gahinet, and P. Apkarian, Robust pole placement in
pp. 1228, 2007. LMI regions, IEEE Trans. Automat. Contr., vol. 44, no. 12, pp. 2257
[11] B. Vik and T. I. Fossen, A nonlinear observer for GPS and INS 2270, 1999.
integration, in Proc. IEEE Conf. Dec. Contr., Orlando, FL, 2001, pp.
29562961. A PPENDIX
[12] M.-D. Hua, Attitude estimation for accelerated vehicles using
GPS/INS measurements, Contr. Eng. Pract., vol. 18, no. 7, pp. 723 The parameter projection Proj(, ) used for the gyro bias
732, 2010. estimation is defined as
[13] P. Batista, C. Silvestre, and P. J. Oliveira, GES attitude observers
Part I: Multiple general vector observations, in Proc. IFAC World
c(b) Mb , b 0 > 0,
b 0 , kbk
( 
Congr., Milan, Italy, 2011, pp. 29852990. ) = I 2 b
Proj(b, kbk
[14] , GES attitude observers Part II: Single vector observations, , otherwise,
in Proc. IFAC World Congr., Milan, Italy, 2011, pp. 29912996.
[15] H. F. Grip, A. Saberi, and T. A. Johansen, Observers for cascaded = min{1, (kbk 2 M 2 )/(M 2 M 2 )}. This is a
nonlinear and linear systems, in Proc. IEEE Conf. Dec. Contr., where c(b) b b b
Orlando, FL, 2011, pp. 33313337. special case of the parameter projection from Appendix E
[16] , Observers for interconnected nonlinear and linear systems, of Krstic, Kanellakopoulos, and Kokotovic [18]. We recall
Automatica, 2012, to appear.
[17] M. D. Shuster and S. D. Oh, Three-axis attitude determination from some useful properties in the following lemma, which we
vector observations, J. Guid. Contr. Dynam., vol. 4, no. 1, pp. 7077, state without proof.
1981. Lemma 3: The following properties hold for the param-
[18] M. Krstic, I. Kanellakopoulos, and P. V. Kokotovic, Nonlinear and
Adaptive Control Design. New York: Wiley, 1995. eter projection: (i) Proj(, ) is locally Lipschitz continuous;
[19] D. L. Kleinman and M. Athans, The design of suboptimal linear M = b 0 Proj(b,
(ii) kbk ) 0; (iii) k Proj(b,
)k kk;
b
time-varying systems, IEEE Trans. Automat. Contr., vol. 13, no. 2, and (iv) b 0 Proj(b,
) b 0 .
pp. 150159, 1968.
[20] H. K. Khalil, Nonlinear Systems, 3rd ed. Upper Saddle River, NJ:
Prentice-Hall, 2002.

You might also like