Professional Documents
Culture Documents
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
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
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.