Vector-based Attitude Filter for Space Navigation - UJI

21
Journal of Intelligent & Robotic Systems manuscript No. (will be inserted by the editor) Vector-based Attitude Filter for Space Navigation Pedro Batista · Carlos Silvestre · Paulo Oliveira Received: / Accepted: Abstract This paper presents the design and performance evaluation of a novel inte- grated attitude filter with application to space navigation. The design is based directly on the sensor measurements as opposed to traditional solutions that resort to rotation parameterizations. The information provided by a low-cost star tracker is merged with the measurements of a triaxial rate gyro to provide accurate estimates of the attitude. The proposed multirate solution also includes the estimation of rate gyro bias and tun- ing procedures. Simulation and experimental results, including ground truth data for performance evaluation purposes, are shown that illustrate the attainable performance in the presence of realistic measurements provided by low-cost star trackers. Keywords Navigation systems · space robotics · attitude algorithms · estimation · filtering techniques 1 Introduction The need to know and explore the space and its frontiers has driven the scientific com- munity, in the last decades, to develop sophisticated tools and mobile platforms such as satellites, spacecrafts, and space stations. Among the myriad of complex and advanced systems and subsystems that equip these platforms, a major role belongs to Naviga- tion Systems and, in particular, to Attitude Determination Systems (ADSs). Indeed, whether it is for data acquisition purposes, pure navigation, or platform stabilization, accurate attitude information is fundamental in the operation of space platforms. Strict cost and construction restrictions have recently lead to the appearance of a new gen- eration of small, cost-efficient attitude sensors. At the same time, challenging attitude This work was partially supported by Funda¸ ao para a Ciˆ encia e a Tecnologia (ISR/IST pluri- anual funding) through the PIDDAC Program funds, by the project PTDC/MAR/64546/2006 - OBSERVFLY of the FCT, and by the EU Project TRIDENT (Contract No. 248497). Instituto Superior T´ ecnico Av. Rovisco Pais, 1 1049-001 Lisboa, Portugal E-mail: {pbatista,cjs,pjcro}@isr.ist.utl.pt Corresponding author: Pedro Batista

Transcript of Vector-based Attitude Filter for Space Navigation - UJI

Page 1: Vector-based Attitude Filter for Space Navigation - UJI

Journal of Intelligent & Robotic Systems manuscript No.

(will be inserted by the editor)

Vector-based Attitude Filter for Space Navigation

Pedro Batista · Carlos Silvestre · Paulo

Oliveira

Received: / Accepted:

Abstract This paper presents the design and performance evaluation of a novel inte-

grated attitude filter with application to space navigation. The design is based directly

on the sensor measurements as opposed to traditional solutions that resort to rotation

parameterizations. The information provided by a low-cost star tracker is merged with

the measurements of a triaxial rate gyro to provide accurate estimates of the attitude.

The proposed multirate solution also includes the estimation of rate gyro bias and tun-

ing procedures. Simulation and experimental results, including ground truth data for

performance evaluation purposes, are shown that illustrate the attainable performance

in the presence of realistic measurements provided by low-cost star trackers.

Keywords Navigation systems · space robotics · attitude algorithms · estimation ·

filtering techniques

1 Introduction

The need to know and explore the space and its frontiers has driven the scientific com-

munity, in the last decades, to develop sophisticated tools and mobile platforms such as

satellites, spacecrafts, and space stations. Among the myriad of complex and advanced

systems and subsystems that equip these platforms, a major role belongs to Naviga-

tion Systems and, in particular, to Attitude Determination Systems (ADSs). Indeed,

whether it is for data acquisition purposes, pure navigation, or platform stabilization,

accurate attitude information is fundamental in the operation of space platforms. Strict

cost and construction restrictions have recently lead to the appearance of a new gen-

eration of small, cost-efficient attitude sensors. At the same time, challenging attitude

This work was partially supported by Fundacao para a Ciencia e a Tecnologia (ISR/IST pluri-anual funding) through the PIDDAC Program funds, by the project PTDC/MAR/64546/2006- OBSERVFLY of the FCT, and by the EU Project TRIDENT (Contract No. 248497).

Instituto Superior TecnicoAv. Rovisco Pais, 11049-001 Lisboa, PortugalE-mail: {pbatista,cjs,pjcro}@isr.ist.utl.ptCorresponding author: Pedro Batista

Page 2: Vector-based Attitude Filter for Space Navigation - UJI

2

accuracy requirements have presented the scientific community with interesting ADS

design challenges. This paper presents a novel attitude estimation solution for space

applications based on a low cost star tracker with reduced power, mass, and volume.

Traditional attitude estimation methods consist of a two-step process: i) estimate

the attitude from body measurements and known reference observations, and ii) filter-

ing the noisy quantities. The first step, where an attitude estimate is obtained from

body measurements to feed a filter (or an observer), ends up in one of many known

representations of the attitude, e.g., Euler angles, quaternions, Euler angle-axis rep-

resentation, rotation matrix, etc, see [32], [25], [5], [29] [30], [3], [21], and references

therein. The filtering process builds essentially on a kinematic model combined either

with the integration of rate gyros or dynamic models. In the first case, the kinemat-

ics are propagated using three-axis rate gyros, while in the second case the dynamic

model for the angular velocity is used. Each has its own advantages and disadvantages.

For instance, dynamic models are complex, highly nonlinear, often time-varying, and

the inertia matrix may not be known with sufficient detail, as well as other dynamic

parameters. On the other hand, rate gyros are usually subject to scale factors and

bias, often slowly time-varying. With all possible combinations, many attitude estima-

tion solutions can be found in the literature. Extended Kalman Filters (EKFs) and

variants have been widely used, see [10,18,1,28,17] and references therein. In spite

of the good performance achieved by EKF and EKF-like solutions, divergence due to

the linearization of the system dynamics has led to the pursuit of different solutions,

in particular nonlinear observers such as those presented in [25] and [27]. For a more

thorough survey, the reader is referred to [7]. In all the aforementioned references, the

sensor measurements are essentially algebraically combined to obtain attitude data

that are used afterwards to feed an observer or filter, depending on whether or not

measurement noise is considered. Sensor specificness is therefore disregarded and, even

when it is addressed, the nonlinear transformations that are performed to obtain the

attitude from vector measurements distort noise characteristics. Moreover, apart from

EKF and EKF-like solutions, systematic tuning procedures are often absent. Excep-

tions are presented in [22] and [31], where vector measurements are used directly in the

feedback of observers built directly on the Special Orthogonal Group SO(3) and the

Special Euclidean Group SE(3), respectively. In the former, local exponential stability

is achieved and the error is shown to converge to zero for almost all initial conditions,

while in the latter almost global exponential stability (AGES) is shown for the observer

error dynamics.

In space applications the attitude can be measured resorting to various sensors

including Sun sensors, magnetometers, GPS [6], [35], [14] etc. Star trackers are one of

the most popular choices, see [36,26,6] since they are not subject to space anomalies

like the magnetic field is, occlusions that can occur in Sun sensors, and do not rely

on artificial electromagnetic fields as GPS solutions do. Moreover, advances in sensing

devices, materials, and computational capabilities have recently lead to the appearance

of a new generation of star trackers, see [9,20], highly-integrated and cost-efficient,

especially when compared to first generation star trackers or other attitude sensors.

This is particularly interesting and important as low-cost compact sensors will be

required for future space applications, while keeping high-performance specifications.

Accuracies in the arcsecond range are already attained by current state of the art

low-cost star trackers, which also have low mass, power consumption, and volume

characteristics. However, the update rates are typically 0.5 − 10 Hz and, since the

number of photons emitted by stars is limited, no major enhancements are expected in

Page 3: Vector-based Attitude Filter for Space Navigation - UJI

3

the near future, see [20]. Although these update rates may be sufficient for some tasks,

they pose a serious setback for control purposes, platform stabilization, etc., where fast

dynamic systems and demanding maneuvers require higher attitude update rates.

The main contribution of the paper is on the design of a low-cost, yet highly

accurate, vector-based attitude estimation system for space applications that

– is based on the exact angular motion kinematics;

– builds on the well-established Kalman filtering theory;

– provides systematic tuning procedures based directly on the sensor specifications;

– has a complementary structure, fusing low bandwidth vector observations from a

star tracker with high bandwidth rate gyro measurements;

– offers high update rates; and

– can be easily extended to incorporate other attitude sensor measurements, as well

as frequency weights in the design to model colored noise.

As previously mentioned, traditional attitude solutions use the sensor measurements to

obtain instantaneous attitude data and the filtering process resorts to one of many at-

titude representation alternatives, as illustrated in Fig. 1. This paper departs from this

Compute

Attitude

(Euler, rotation matrix,

quaternion, etc.)

Filter

Attitude

(auxiliary models:

kinematics, dynamics)

Vector

Measurements

Aiding Sensors

(rate gyros)

Attitude

Estimate

Filtered Attitude

Auxiliary Parameters

(rate gyros biases)

Fig. 1 Classic Attitude Estimation Solution

approach: star tracker vector observations are included directly in the system dynamics

and the kinematics are propagated using the angular velocity provided by a triad of

orthogonally mounted rate gyros, whose biases are also explicitly estimated. Therefore,

the filtering process takes place directly in the space of the sensors and no lineariza-

tions are considered whatsoever. The concept of vector-based attitude estimation is

illustrated in Fig. 2. Fundamental to the filter design is a modification of the system

Determine

Attitude

(Euler, rotation matrix,

quaternion, etc.)

Filter Sensor

Measurements

System dynamics:

Motion kinematics and /or

motion dynamics

Vector

Measurements

Aiding Sensors

(rate gyros)

Filtered Attitude

Auxiliary Parameters

(rate gyros biases)

Filtered

Measurements

Fig. 2 Vector-based Attitude Estimation Approach

dynamics that yields a structure that can be regarded as linear time-varying (LTV),

although it is, in fact, nonlinear, and still captures the exact system dynamics. The

final attitude estimation solution results from combining the vector-based filter with

an optimal attitude determination algorithm. This last problem is commonly known in

Page 4: Vector-based Attitude Filter for Space Navigation - UJI

4

the literature as the Wahba’s problem, see [34], and the first solution appeared in [11].

The problem has been subject of extensive research since then and there are nowadays

numerous solutions in the literature, see [23] and references therein for a thorough sur-

vey. Preliminary work by the authors can be found in [2], where the filtering algorithm

was first presented.

The paper is organized as follows. The problem formulation is stated in Section 2,

while the vector-based framework that is the core of the proposed solution is presented

in Section 3. The filter design is developed in Section 4 and its performance evaluated,

in simulation environment, in Section 5. Finally, Section 6 presents some experimental

results and Section 7 summarizes the main contributions and conclusions of the paper.

2 Problem formulation

Consider a space vehicle or mobile platform equipped with a star tracker and a set of

three orthogonally mounted rate gyros. Let {B} denote a body-fixed reference frame

and {I} an inertial reference frame. The problem addressed in the paper, which will be

described shortly in greater detail, is that of estimating the attitude of the platform,

i.e., the rotation matrix from {B} to {I}, given the measurements provided by the

sensor suite installed on-board.

First generation star trackers acquired few bright stars and only output the focal

plane coordinates of these stars. They did not provide direct attitude information

and the star identification had to be done externally, see [20]. Current commercial-

off-the-shelf star trackers have evolved significantly in all aspects. In particular, up

to 50 stars can now be tracked and automatic pattern recognition is performed by

powerful microcomputers. The output of state of the art star trackers can therefore be a

quaternion, a rotation matrix, three Euler angles or, as an alternative, the directions of

the stars in the field-of-view (FOV) and the corresponding unit vectors in a coordinate

reference system (e.g. J2000). In this work the latter is considered.

As with star trackers, angular rate sensors technology has also advanced signifi-

cantly, particularly with the recent breakthroughs in Micro Electro Mechanical Sys-

tems (MEMS), see [8], and Fiber Optic Gyros (FOGs). As a result, there are nowadays

commercially available low-cost compact rate gyros adequate for space applications,

that have high-performance characteristics in spite of their low power, volume, and

mass specifications. A problem common to these sensors is, however, rate gyro bias,

which must be taken into consideration during the design stage.

The problem addressed in this paper is that of estimating, at high-rate, the attitude

of a space platform, merging the measurements provided, at different rates, by the star

tracker and the rate gyros, rejecting sensor noise and considering rate gyro bias.

3 Vector-based framework

The vector-based core framework proposed in this paper is presented in this section.

A deterministic continuous-time setting, ignoring sensor noise and data sampling, is

considered here, as it suffices to introduce the main ideas of the paper. Sensor noise

and multirate sensor measurements will be addressed in Section 4.

For the sake of simplicity, the camera focal point of the star tracker is assumed to

coincide with the origin of {B}, and the rate gyros provide the angular velocity of {B}

Page 5: Vector-based Attitude Filter for Space Navigation - UJI

5

with respect to {I}, expressed in body coordinates and corrupted by bias, as given by

ωm(t) = ω(t) + bω ,

where ω(t) ∈ R3 is the angular velocity of {B} with respect to {I}, expressed in body-

fixed coordinates, and bω(t) ∈ R3 is the rate gyro bias, also expressed in body-fixed

coordinates. Let si(t) ∈ R3 denote the direction of the i-th star tracked by the star

tracker, expressed in body-fixed coordinates, and Isi ∈ R3, ‖si‖ =

Isi

∥ = 1, the

corresponding direction in inertial coordinates. Then,

si(t) = RT (t)Isi, i = 1, . . . , ns, (1)

where ns is the number of stars simultaneously tracked by the stellar sensor and R(t) ∈

SO(3) is the rotation matrix from body to inertial coordinates.

The attitude kinematics may be described, using rotation matrices, as

R(t) = R(t)S [ω(t)] , (2)

where S (x) is the skew-symmetric matrix such that S (x) y = x × y. Traditional

solutions use the star tracker measurements to obtain instantaneous attitude measure-

ments. In this paper the measurements are used directly in the system dynamics for

filtering purposes. The time derivative of (1), using (2), is given by

si(t) = −S [ω(t)] si(t), i = 1, . . . , ns.

On the other hand, rate gyro bias is also added to the set of system states. Assuming

it is constant, its time derivative is simply given by

bω(t) = 0.

Considering the vector observations and the rate gyro bias as the system state, the

vector-based system dynamics are given by

x1(t) = −S [ωm(t)]x1(t) + S [xns+1(t)]x1(t)...

xns(t) = −S [ωm(t)]xns

(t) + S [xns+1(t)]xns(t)

xns+1 = 0

y1(t) = x1(t)...

yns(t) = xns

(t)

, (3)

where x(t) =[

xT1 (t) . . . xT

ns+1(t)]T

∈ R3(ns+1) is the system state, the output of the

system is y(t) =[

yT1 (t) . . . yT

ns(t)

]T∈ R

3ns , and ωm(t) is considered as a determin-

istic known function. Now, notice that, since

S (xns+1(t))xi(t) = xns+1(t) × xi(t)

= −xi(t) × xns+1(t)

= −S (xi(t))xns+1(t), i = 1, . . . , ns,

and

yi(t) = xi(t), i = 1, . . . , ns,

Page 6: Vector-based Attitude Filter for Space Navigation - UJI

6

it is possible to rewrite (3) as

x1(t) = −S [ωm(t)]x1(t) − S [y1(t)]xns+1(t)...

xns(t) = −S [ωm(t)]xns

(t) − S [yns(t)]xns+1(t)

xns+1(t) = 0

y1(t) = x1(t)...

yns(t) = xns

(t)

or, in compact form, as{

x(t) = A(t)x(t)

y(t) = Cx(t), (4)

where

A(t) =

−S [ωm(t)] 0 . . . 0 −S [y1(t)]

0. . .

. . .... −S [y2(t)]

.... . .

. . . 0...

0 . . . 0 −S [ωm(t)] −S [yns(t)]

0 0 0 0 0

and

C =

I 0 . . . 0 0

0. . .

. . ....

......

. . .. . . 0 0

0 . . . 0 I 0

.

Now, although the system dynamics are nonlinear, they may, nevertheless, be regarded

as LTV. This family of transformations, which allows to interpret a nonlinear dynamic

system as a LTV system, is useful for observer design and has been successfully used in

the literature by several authors, see [19] and [33]. It also allows for the implementation

of a standard Kalman filter [16], as detailed in the next section.

4 Filter design

This section presents the overall attitude estimation solution. Although rate gyros pro-

vide continuous-time signals that can be sampled at high-rates, star trackers output

discrete-time data, at low-rates. Therefore, filtering solutions based directly on the

continuous-time system dynamics presented in the previous section are not immedi-

ately implementable. To address this issue, a multirate filtering design framework is

introduced in subsection 4.1. Afterwards, a standard Kalman filter is detailed in sub-

section 4.2, and the final attitude estimation solution is described in subsection 4.3.

Page 7: Vector-based Attitude Filter for Space Navigation - UJI

7

4.1 Design framework

When it comes to the discretization of system dynamics there exist, in the literature, a

great variety of alternatives. In this paper one of the simplest methods, the first-order

Euler method [12], is considered, with the right side of (4) subject to sample-and-

hold. Although more recent and powerful methods could be implemented, the fact is

that the resulting integration error with this method is well below the measurement

noise and the achieved standard deviation of the estimation error. Therefore, no major

improvements should be expected from enhancements on the discretization algorithm.

Let Tg denote the sampling period of the rate gyros and Ts the output period of

the star tracker. Then, ignoring sensor noise for now, the measurements satisfy

ωm (k) := ωm (tk) , tk = kTg + t0, k ∈ N0,

and

si (k) := si (tk) , tk = kTs + t0, k ∈ N0, i ∈ {1, . . . , ns} ,

where t0 is the initial time. It is assumed, for the sake of simplicity, that Ts is a multiple

of Tg, i.e.,

Ts = NsTg, Ns ∈ N.

This is a mild assumption as the sampling of the rate gyros can be synchronized with

the output of the star tracker.

The Euler discretization of the system dynamics (4) gives

x1 (k + 1) = x1 (k) − TgS [ωm (k)]x1 (k) − TgS [y1 (tk)]xns+1 (k)...

xns(k + 1) = xns

(k) − TgS [ωm (k)]xns(k) − TgS [yns

(tk)]xns+1 (k)

xns+1 (k + 1) = xns+1 (k)

, k ∈ N0.

(5)

Due to the fact that the rate gyros and the star tracker provide measurements at

different rates, it is impossible to propagate the system state exactly according to (5)

as the output y (tk) is not available for

k

Ns/∈ N0.

In order to overcome this problem, an estimate of the output, ye (k) ≈ y (tk) is used

instead. The choice of this estimate is discussed in subsection 4.2. Including system

disturbances, the new discrete-time system dynamics read as

x1 (k + 1) = x1 (k) − TgS [ωm (k)]x1 (k) − TgS [ye1 (k)]xns+1 (k) + w1 (k)

...

xns(k + 1) = xns

(k) − TgS [ωm (k)]xns(k) − TgS [ye

ns(k)]xns+1 (k) + wns

(k)

xns+1 (k + 1) = xns+1 (k) + wns+1 (k)

,

(6)

for k ∈ N0, where w (k) =[

wT1 (k) . . . wT

ns+1 (k)]T

∈ R3(ns+1) is zero-mean discrete-

time white Gaussian noise, with

E[

w (k)wT (j)]

= Ξ (k) δ (k − j) .

Page 8: Vector-based Attitude Filter for Space Navigation - UJI

8

The output equations, including measurement noise, are given by

y1 (k + 1) = x1 (k + 1) + n1 (k + 1)... , k+1

Ns

∈ N0,

yns(k + 1) = xns

(k + 1) + nns(k + 1)

y1 (k + 1) = n1 (k + 1)... , otherwise,

yns(k + 1) = nns

(k + 1)

(7)

where n (k) =[

nT1 (k) . . . nT

ns(k)

]T∈ R

3ns is zero-mean discrete-time white Gaussian

noise, with

E[

n (k)nT (j)]

= Θ (k) δ (k − j)

and

E[

w (k)nT (j)]

= 0.

In compact form, (6)-(7) may be written as

{

x (k + 1) = Ad (k)x (k) + w (k)

y (k + 1) = Cd (k + 1)x (k + 1) + n (k + 1), (8)

where

Ad (k) =

I − TgS [ωm (k)] 0 . . . 0 −TgS [ye1 (k)]

0. . .

. . .... −TgS [ye

2 (k)]...

. . .. . . 0

...

0 . . . 0 I − TgS [ωm (k)] −TgS [yens

(k)]

0 0 0 0 I

and

Cd (k + 1) =

I 0 . . . 0 0

0. . .

. . ....

......

. . .. . . 0 0

0 . . . 0 I 0

, k+1Ns

∈ N0,

0, otherwise.

Remark 1 One should notice that additive Gaussian noise may not be the best model-

ing option. Indeed, multiplicative noise would do a better job, as the presence of noise in

the rate gyro measurements is reflected as terms like TgS [wi (k)]xi (k) , i = 1, . . . , ns,

instead of simple additive noise. Also, different noise distributions could better model

the rate gyro noise. As an alternative, it is possible to consider w (k) ∈ L2, where L2

denotes the space of square integrable signals, and design an H∞ filter instead of a

Kalman filter. The steps are similar and therefore will be omitted.

Page 9: Vector-based Attitude Filter for Space Navigation - UJI

9

4.2 Filter implementation

The Kalman filter for the dynamic system (8) is standard [16,13]. The propagation of

the state estimate and error covariance matrix is given by

x (k + 1|k) = Ad (k) x (k|k) (9)

and

P (k + 1|k) = Ad (k)P (k|k)ATd (k) + Ξ (k) , (10)

respectively. Due to the particular form of the output matrix Cd (k), which is zero

for all instants except for k/Ns ∈ N0, the system state estimate and error covariance

matrix are only updated when new star tracker data is available, according to

x (k + 1|k + 1) =

{

x (k + 1|k) + K (k + 1) [y (k + 1) − Cx (k + 1|k)] , k+1Ns

∈ N

x (k + 1|k) , otherwise,

(11)

for the state estimate, where K (k + 1) denotes the Kalman gain matrix, and

P (k + 1|k + 1) =

P (k + 1|k) − P (k + 1|k)CT[

CP (k + 1|k)CT + Θ (k + 1)]−1

CP (k + 1|k) , k+1Ns

∈ N,

P (k + 1|k) , otherwise,(12)

for the error covariance matrix. The Kalman gain matrix is given by

K (k + 1) = P (k + 1|k + 1)CTΘ

−1 (k + 1) ,k + 1

Ns∈ N.

The Kalman filter is specified by (9)-(12). It remains to see how ye (k) is chosen.

Recall that ye (k) ≈ y (tk), i.e., it is an approximation for the output of the system.

For k/Ns ∈ N0, star tracker measurements are available that provide such quantity.

Between these instants, there are several alternatives to obtain an estimate. Open-loop

integration of the rate gyros measurements is one and it is well known that this method

provides very accurate short-term results [4], as required. Another solution would be to

use the state estimate provided by the filter, i.e., ye (k) = Cx (k|k). The first method

is adopted.

It is important to stress that the resulting structure is complementary: high band-

width rate gyro measurements are combined with low bandwidth vector observations

to determine a low frequency perturbation in the rate gyro measurements and provide

filtered estimates of the vector observations.

4.3 Attitude determination

The final attitude determination system results from finding the proper rotation matrix

R that best explains the vector estimates provided by the filter previously derived. The

problem of finding the proper rotation matrix R that minimizes the loss function

J (R) =1

2

N∑

i=1

ai

∥si − R

T Isi

2

, ai > 0,

Page 10: Vector-based Attitude Filter for Space Navigation - UJI

10

is known in the literature as the Wahba’s problem [34]. Although the first solution

dates from 1966 [11], thorough research has been carried out throughout the years and

there exist nowadays a rather large variety of solutions in the literature, ranging from

fast algorithms, like QUaterion ESTimator (QUEST), to more robust algorithms, e.g.,

the optimal solution that resort to the singular value decomposition (SVD) of a matrix.

For a more thorough research the reader is referred to the work [23]. Since the focus

of this work is not on the solution of the Wahba’s problem but on the overall attitude

determination system, a traditional SVD solution is applied since there are nowadays

very robust SVD algorithms.

In the previous section a Kalman filter was derived that yields estimates

y (k) = Cx (k) =

y1 (k)...

yns(k)

of the star directions s1 (k) , . . . , sns(k), in body-fixed coordinates, for all k ∈ N.

Instead of using the sensor measurements, which are not filtered and are only available

at low rates, the estimates provided by the filter are normalized,

sui (k) =

yi(k)

‖yi(k)‖, i = 1, . . . , ns,

and the final attitude estimate obtained as the solution of

R (k) = arg minR(k)∈SO(3)

J(

R (k))

, (13)

where

J(

R (k))

:=1

2

ns∑

i=1

ai

∥sui (k) − R

T (k) Isi

2

.

Let

wk :=

ns∑

i=1

aisui (k) I

si

T,

which admits the singular value decomposition

wk = UkDkVk.

The optimal solution of (13) can be written as [23]

R (k) = Vk

1 0 0

0 1 0

0 0 det (Uk) det (Vk)

UTk .

Remark 2 There is nothing in the filter structure imposing any particular relation

between the filter estimates y1(k), . . . , yns(k). Therefore, it may happen, due to bad

initialization or by accident, that the estimates are all parallel for some instant k. In

this case, the solution previously presented is not well defined. On the other hand,

the same happens if, for some k and i, yi(k) = 0 . If any of these situations was to

happen, the sensor measurements could be used directly to obtain an estimate of the

attitude. However, notice that the filter may be initialized with the first set of vector

observations. In addition to that, it will be shown shortly that the filter convergence

is very fast, and warming-up delays below 5 s are common. Therefore, none of these

situations are to happen in practice.

Page 11: Vector-based Attitude Filter for Space Navigation - UJI

11

5 Simulation results

This section provides simulation results in order to evaluate the performance achieved

by the proposed attitude determination solution. A low-cost star tracked is considered:

the star tracker specifications are those of the SUN-STAR, from SunSpace, that can

track over 10 stars at the same time. The specifications of the star tracker and triaxial

rate gyro are shown in Table 1. Gaussian white noise is considered and no scaling factor

Table 1 Sensor Specifications

Sensors Output Rate Noise Standard DeviationGyros 100 Hz 0.005 °/s

Star Tracker 1 Hz 22 arcsec

errors are taken into account. The rate gyro bias was set to

bω =π

180[−0.2 0.3 − 0.1]T rad/s.

In a real-world application it is necessary to consider star switching for large an-

gular maneuvers, as different stars enter and leave the FOV. This does not affect the

complexity of the algorithm as when one of the stars that is being tracked by the star

tracker is replaced by a different star, all that is required in the filter implementation

is to reinitialize the corresponding state estimate with the new value. Analogously,

if a star exits the FOV and it is not replaced by a new one, the corresponding set of

states (and covariance matrix blocks) is simply discarded. Likewise, if a new star enters

the FOV, the set of states (and the covariance matrix) are simply augmented. This

should also have only a very mild effect in the filter performance as the states that

are reinitialized due to changes in the set of stars present in the FOV are initialized

very close to the true values, as given by the star tracker. Therefore, no significant

transients are expected whatsoever. For the sake of simplicity and clarity of presen-

tation, in the simulations provided in the paper the vehicle does not perform large

angular maneuvers and therefore the stars that are being tracked do not change. In

particular, it is assumed that the star tracker, whose boresight axis coincides with the

x-axis of the body-fixed reference frame, tracks the seven most brightest stars of the

Orion constellation, depicted in Fig. 3. The coordinates and magnitude of these stars

are shown in Table 2, where the J2000 coordinate reference system is used.

Table 2 Seven brightest stars of the Orion constellation

Star Magnitude Right Ascension (J2000) Declination (J2000)Rigel 0.18 5h 15m -8°12’

Betelgeuse 0.45 5h 55m 7°24’Bellatrix 1.64 5h 25m 6°21’Alnilam 1.69 5h 36m -1°12’Alnitak 1.74 5h 41m -1°57’Saiph 2.07 5h 48m -9°40’

Mintaka 2.25 5h 32m 0°18’

Page 12: Vector-based Attitude Filter for Space Navigation - UJI

12

5.25.35.45.55.65.75.85.96−10

−8

−6

−4

−2

0

2

4

6

8

Right Ascension (hours)

Declination (º)

Fig. 3 Seven brightest stars of the Orion constellation, in J2000 coordinates

For illustration purposes, roll, pitch, and yaw Euler angles λ = [φ θ ψ]T were chosen

and the initial attitude is λ(0) = [0 0 75]T (°). The angular velocity is given by

ω(t) =π

180

sin(

2π20 t

)

0.5 cos(

2π30 t

)

0

(rad/s)

and the evolution of the Euler angles is shown in Fig. 4.

0 20 40 60 80 100 120−1

0

1

2

3

4

5

6

7

t (s)

Roll (º)

0 20 40 60 80 100 120−3

−2

−1

0

1

2

3

t (s)

Pitch (º)

0 20 40 60 80 100 12074.7

74.8

74.9

75

75.1

75.2

75.3

t (s)

Yaw (º)

Fig. 4 Evolution of the Euler angles

5.1 Discretization analysis

The discretization approximation of the system dynamics is briefly discussed in this

subsection. In order to have an idea of the effect of the discretization of the exact

continuous-time system dynamics, an open-loop simulation of the attitude determina-

tion system was carried out. The filter states are initialized with the true values and

no measurement noise affects the sensor readings. The simulation step is identical to

the sampling time of the rate gyros, 10 ms.

The error of the rate gyro bias remains null. Indeed, the discretization for the rate

gyro bias model is exact as this quantity is constant. The evolution of the resulting

Euler angle errors is shown in Fig. 5. As it is possible to observe, the integration error

Page 13: Vector-based Attitude Filter for Space Navigation - UJI

13

0 1 2 3 4 5 6 7 8 9 10−0.3

−0.2

−0.1

0

0.1

0.2

0.3

t (s)

Filter Error − Euler angles (arcsec) roll

pitchyaw

Fig. 5 Euler angle error due to discretization: open-loop simulation

is very small for small periods of open-loop integration.

In practice, the filter operates in closed-loop: every time the star tracker provides

vector observations, the feedback counteracts not only initial conditions mismatch and

sensor noise but also any errors resulting from the discretization process. In order to

better assess the effect of the discretization approximation during the filter operation,

a simulation was carried out with initial bias estimate mismatch but no sensor noise.

For illustration purposes, the initial convergence of the Euler angle errors is shown

in Fig. 6 and its evolution in Fig. 7, while the initial convergence of the bias error is

shown in Fig. 8 and its evolution in Fig. 9. From these plots it is possible to observe

that the convergence rate is very fast and the steady-state error stays well below

the magnitude of sensor noise typical of low-cost star tracker units. Therefore, the

discretization method should not compromise the estimation results, in spite of its

simplicity. The performance of the overall attitude solution, in the presence of realistic

measurements, is discussed in the following subsection.

0 5 10 15 20 25 30

−1000

−800

−600

−400

−200

0

200

400

600

800

1000

t (s)

Filter Error − Euler angles (arcsec)

rollpitchyaw

Fig. 6 Initial convergence of the Euler angle error: closed-loop simulation

5.2 Filter simulations

The final attitude determination system simulation is presented in this section, con-

sidering also sensor noise. The filter parameters were chosen as ai = 1, i = 1, . . . , 7,

Ξ (k) = diag(

0.5 × 10−6I, . . . , 0.5 × 10−6

I, 10−9I)

,

Page 14: Vector-based Attitude Filter for Space Navigation - UJI

14

50 100 150 200 250 300−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

t (s)

Filter Error − Euler angles (arcsec)

rollpitchyaw

Fig. 7 Detailed evolution of the Euler angle error due to discretization: closed-loop simulation

0 5 10 15 20 25 30−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

t (s)

Bias Error (º/s)

xyz

Fig. 8 Initial convergence of the rate gyro bias error: closed-loop simulation

50 100 150 200 250 300−2

−1.5

−1

−0.5

0

0.5

1

1.5

2x 10

−5

t (s)

Bias Error (º/s)

xyz

Fig. 9 Detailed evolution of the rate gyro bias error due to discretization: closed-loop simu-lation

and

Θ (k) = 0.005I.

The set of states corresponding to the star directions was initialized with the first set

of measurements, while the rate gyro initial bias estimate was set to zero. The initial

convergence of the Euler error is shown in Fig. 10 and its evolution in Fig. 11. The

filter convergence is extremely fast and the performance quite good, considering the

low-cost sensor suite. An interesting result is the difference between the error for the

roll and for the pitch and yaw angles. This is due to the fact that the FOV of the star

Page 15: Vector-based Attitude Filter for Space Navigation - UJI

15

tracker is quite narrow and the directions of the stars that are tracked are all close

to the star tracker boresight axis, which coincides with the x-axis of the body-fixed

reference frame. As a result, the orthogonal plane is very well defined but not the roll

angle. One way to overcome this limitation is to include additional attitude sensing

devices. A Sun sensor, e.g., would improve the performance of the roll estimation (and

the pitch and yaw), and its inclusion in the filter is trivial. Indeed, all it takes is to add

another set of three states to the Kalman filter.

0 5 10 15 20 25 30

−1000

−800

−600

−400

−200

0

200

400

600

800

1000

t (s)

Filter Error − Euler angles (arcsec)

rollpitchyaw

Fig. 10 Initial convergence of the Euler angle error

50 100 150 200 250 300−50

−40

−30

−20

−10

0

10

20

30

40

50

t (s)

Filter Error − Euler angles (arcsec)

rollpitchyaw

Fig. 11 Detailed evolution of the Euler angle error

The initial convergence of the rate gyro bias error is shown in Fig. 12 and its

evolution in Fig. 13. Once again, the filter convergence is quite fast. Notice also that

the steady-state bias error is well below the rate gyro noise.

In order to better evaluate the performance achieved by the proposed solution,

Monte Carlo simulations were carried out and the standard deviation of the steady-

state error of the Euler angles is depicted in Table 3. The resulting performance is quite

good, in spite of the low cost, reduced power, mass, and volume characteristics of the

sensor suite. Notice also that a very limited number of stars was used compared to the

number of stars that existing low-cost star trackers can track and future generation

star trackers are expected to track. The performance would improve if more stars were

tracked [20].

Page 16: Vector-based Attitude Filter for Space Navigation - UJI

16

0 5 10 15 20 25 30−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

t (s)

Bias Error (º/s)

xyz

Fig. 12 Initial convergence of the rate gyro bias error

50 100 150 200 250 300−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1x 10

−3

t (s)

Bias Error (º/s)

xyz

Fig. 13 Detailed evolution of the rate gyro bias error

Table 3 Standard deviation of the steady-state error of the Euler angles

Angle Standard deviation (arcsec)roll 18.0134

pitch 5.0762yaw 4.5711

6 Experimental Evaluation

In order to experimentally evaluate the performance of the proposed ADS for Space

Applications, an experience was carried out in a controlled environment that attempts

to emulate the conditions of applications in space. The sensor suite is composed of

a low-cost Inertial Measurement Unit (IMU), model nanoIMU NA02-0150F50 from

MEMSENSE, see [24] for the specifications, and a low-cost camera, model AXIS 215

PTZ Network Camera, due to budget constraints. These sensors are not space-graded,

i.e., their specifications are not compatible with space applications. Nevertheless, the

results offer a proof of concept and, as it will be shown, highlight the applicability

of the proposed solution not only for Space Applications but also for other scenarios,

vehicles, and mobile platforms, e.g., Unmanned Aerial Vehicles (UAVs), Autonomous

Underwater Vehicles (AUVs), ground vehicles, manipulators, etc.

The IMU outputs, among other variables that are not used in this setup, the angular

velocity of the body, while directions of a constellation of points are obtained from the

camera images. The sampling frequency of the IMU is 150Hz, while the noise maximum

Page 17: Vector-based Attitude Filter for Space Navigation - UJI

17

standard deviation is 0.95 °/s. The camera provides images of the constellation of points

depicted in Fig. 14, with 704 × 576 pixels and at a rate of 1Hz.

Fig. 14 Wood board with a constellation of points

To obtain high quality results, comparable with ground truth date, the camera and

the IMU are mounted on top of a high precision Motion Rate Table, Model 2103HT

from Ideal Aerosmith [15]. This is a three-axis Motion Rate Table that provides precise

angular position, rate and acceleration for development and testing of inertial compo-

nents and systems. The table outputs, in a fixed-frequency profile mode, the angular

position of the table with a resolution of 0.00025 °, considered as a ground truth sig-

nal. Fig. 15 displays the calibration table with the experimental setup mounted on the

table top. The IMU is interfaced through the RS-422 bus, while the camera interface

is through Ethernet. A major drawback of this experimental setup is the distance be-

Fig. 15 Experimental Setup

tween the constellation of points and the camera, which is about 5 meters only. While

Page 18: Vector-based Attitude Filter for Space Navigation - UJI

18

in space applications the distance between the stars and the star tracker is so large that

the plane-wave assumption is valid, and therefore the direction of the stars is assumed

constant in the inertial frame, this is not true when this distance is so small. Never-

theless, the results are still very encouraging and clearly highlight the applicability of

the proposed solution.

Due to the size of the constellation of points that was available, the motion of the

calibration table was limited so that all points are always visible during the experience.

The resulting attitude estimate, in the form of Euler angles, for the sake of clarity of

presentation, is depicted in Fig. 16, while the evolution of the bias estimate is depicted

in Fig. 17. These plots evidence that the filter produces smooth estimates and the

convergence rate is very fast.

0 100 200 300 400 500 600−6

−4

−2

0

2

4

6

t (s)

Estimated Euler angles (º)

roll

pitch

yaw

Fig. 16 Evolution of the Euler angle estimate

0 100 200 300 400 500 600−1

−0.5

0

0.5

t (s)

Bias estimate (º/s)

x

y

z

Fig. 17 Evolution of the rate gyro bias estimate

Since the calibration table provides ground-truth signals for the attitude, the evo-

lution of the attitude filter error is depicted in Fig. 18. While these results are certainly

not compatible with the most demanding accuracies for space applications, the fact is

that they are very good considering the quality of the sensors and the fact that the

distance between the camera and the constellation of points if very small. Moreover,

the resulting error is compatible with other less demanding applications, while the

computational requirements and cost of the sensor suite are very low, which evidences

the potential of the proposed solution.

Page 19: Vector-based Attitude Filter for Space Navigation - UJI

19

0 100 200 300 400 500 600−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8

1

t (s)

Filter Error − Euler angles (º)

roll

pitch

yaw

Fig. 18 Evolution of the Euler angles error

7 Conclusions

This paper presented the design and performance evaluation of a novel vector-based

attitude estimation system for space platforms. Although the system dynamics for

attitude estimation are inherently nonlinear, a linear time-varying interpretation was

possible after algebraic manipulation. Taking advantage of the new formulation, which

is still exact and resorts to no linearizations whatsoever, a Kalman filter was derived and

the overall performance of the attitude determination system evaluated in a realistic

simulation environment.

Classic attitude estimation solutions typically ignore the specificness of the sensors

and the measurements are basically used to construct instantaneous algebraic attitude

measurements. These algebraic measurements take one of many forms, e.g., Euler an-

gles, quaternions, rotation matrices, etc., and the filtering process takes place in one

of these representations. In this paper the filtering process is carried out directly in

the space of the measurements, allowing the specifications of the sensors to be directly

incorporated in the filter design process, which is therefore systematic. The proposed

solution is based on the kinematic model, which relies on angular velocity measure-

ments provided by rate gyros to propagate the system state, and the rate gyro bias

is also taken into account and explicitly estimated. The main sensing device is a low

cost, reduced power, mass, and volume star tracker, ideal for use in space applications

where strict cost and construction restrictions are becoming more and more common.

The low rate star tracker measurements are merged with high rate gyro measurements

in a complementary structure yielding attitude estimates at fast rates.

Simulation results were included that illustrate the achievable performance in the

presence of realistic measurements provided by the low cost sensor suite. The conver-

gence rate is very fast, while the resulting performance is very good considering the

low-grade characteristics of the sensor set. Finally, experimental results were presented

with a sensor suite that, although not compatible with Space Applications, exhibiting

much lower sensor specifications, allowed to demonstrate the concept and the appli-

cability of the proposed ADS to other scenarios, vehicles, and mobile platforms. A

Motion Rate Table, which provides ground truth data, was employed for experimental

performance evaluation purposes.

Acknowledgements The authors gratefully acknowledge the expertise and contributions ofBruno Cardeira, Sergio Bras, Luıs Sebastiao, Andre Oliveira, and Jose Tojeira in the develop-ment of the experimental setup.

Page 20: Vector-based Attitude Filter for Space Navigation - UJI

20

References

1. Bar-Itzhack, I., Oshman, Y.: Attitude Determination from Vector Observations: Quater-nion Estimation. IEEE Transactions on Aerospace and Electronic Systems 321(1), 128–136(1985)

2. Batista, P.: Low-cost Sensor-based Integrated Attitude Filter for Space Applications. In:Proceedings of the AIAA 2009 Guidance, Navigation and Control Conference and Exhibit(Finalist of the AIAA GNC Graduate Student Paper Competition). Chicago, USA (2009)

3. Bortz, J.: A New Mathematical Formulation for Strapdown Inertial Navigation. IEEETransactions on Aerospace and Electronic Systems 7(1), 61–66 (1971)

4. Bryson, M., Sukkarieh, S.: Vehicle Model Aided Inertial Navigation for a UAV using Low-Cost Sensors. In: Proceedings of the 2004 Australasian Conference on Robotics and Au-tomation. Canberra, Australia (2004)

5. Campolo, D., Keller, F., Guglielmelli, E.: Inertial/Magnetic Sensors Based OrientationTracking on the Group of Rigid Body Rotations with Application to Wearable Devices.In: Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots andSystems - IROS 2006, pp. 4762–4767. Beijing, China (2006)

6. Chiang, Y., Chang, F., Wang, L., Jan, Y., Ting, L.: Data Fusion of Three Attitude Sensors.In: Proceedings of the 40th SICE Annual Conference, pp. 234–239. Nagoya, Japan (2001)

7. Crassidis, J., Markley, F., Cheng, Y.: Survey of Nonlinear Attitude Estimation Methods.Journal of Guidance, Control and Dynamics 30(1), 12–28 (2007)

8. Dussy, S., Durrant, D., Moy, T.: MEMS gyro for space applications - Overview of Europeanactivities. In: Proceedings of the AIAA Guidance, Navigation and Control Conference andExhibit. San Francisco, CA, USA (2005)

9. Eisenman, A., Liebe, C.: The Advancing State-of-the-art in Second Generation Star Track-ers. In: Proceedings of the 1998 IEEE Aerospace Conference, vol. 1, pp. 111–118. Aspen,CO, USA (1998)

10. Farrell, J.: Attitude Determination by Kalman Filter. Automatica 6(5), 419–430 (1970)11. Farrell, J., Stuelpnagel, J.: A Least Squares Estimate of Satellite Attitude. SIAM Review

8(3), 384–386 (1966)12. Franklin, G., Powell, J., Workman, M.: Digital Control of Dynamic Systems, 3 edn. Ad-

dison Wesley (1998)13. Gelb, A.: Applied Optimal Filtering. The MIT Press (1974)14. Hayward, R., Gebre-Egziabher, D., Schwall, M., Powell, J., Wilson, J.: Inertially Aided

GPS Based Attitude Heading Reference System (AHRS) for General Aviation Aircraft.In: Proceedings of the ION GPS’97. Kansas, MO, USA (1997)

15. Ideal Aerosmith, Inc.: 2103HT Multi-Axis Table Data Sheet, Rev C. http://www.ideal-aerosmith.com/ (2006)

16. Kalman, R., Bucy, R.: New Results in Linear Filtering and Prediction Theory. Transac-tions of the ASME - Journal of Basic Engineering, Series D 83(3), 95–108 (1961)

17. Lam, Q., Crassidis, J.: Evaluation of a Multiple Model Adaptive Estimation Scheme forSpace Vehicle’s Enhanced Navigation Solution. In: Proceedings of the AIAA Guidance,Navigation and Control Conference and Exhibit. Hilton Head, SC, USA (2007)

18. Lefferts, E., Markley, F., Shuster, M.: Kalman filtering for spacecraft attitude estimation.Journal of Guidance, Control, and Dynamics 5(5), 417–429 (1982)

19. Liang, X., Zhang, J., Xia, X.: Adaptive Synchronization for Generalized Lorenz Systems.IEEE Transactions on Automatic Control 53(7), 1740–1746 (2008)

20. Liebe, C.: Accuracy Performance of Star Trackers - A Tutorial. IEEE Transactions onAerospace and Electronic Systems 38(2), 587–599 (2002)

21. Lippiello, V., Siciliano, B., Villani, L.: Adaptive extended Kalman filtering for visual mo-tion estimation of 3D objects. Control Engineering Practice 15(1), 123–134 (2007)

22. Mahony, R., Hamel, T., Pflimlin, J.M.: Nonlinear Complementary Filters on the SpecialOrthogonal Group. IEEE Transactions on Automatic Control 53(5), 1203–1218 (2008)

23. Markley, F., Mortari, D.: How to Estimate Attitude from Vector Observations. Proceedingsof the AAS/AIAA Astrodynamics Specialist Conference 103(3), 1979–1996 (1999)

24. MEMSENSE: NANO IMU Product Specification User’s Guide, Document Number PSD-0822, Rev. A. ”http://www.memsense.com” (2009)

25. Metni, N., Pflimlin, J.M., Hamel, T., Soueres, P.: Attitude and gyro bias estimation for aVTOL UAV. Control Engineering Practice 14(12), 1511–1520 (2006)

26. Rao, G., Alex, T., Bhat, M.: Incremental-Angle and Angular Velocity Estimation Using aStar Sensor. Journal of Guidance, Control, and Dynamics 25(3), 433–441 (2002)

Page 21: Vector-based Attitude Filter for Space Navigation - UJI

21

27. Rehbinder, H., Ghosh, B.: Pose Estimation Using Line-Based Dynamic Vision and InertialSensors. IEEE Transactions on Automatic Control 48(2), 186–199 (2003)

28. Son-Goo, K., Crassidis, J., Cheng, Y., Fosburyx, A.: Kalman Filtering for Relative Space-craft Attitude and Position Estimation. Journal of Guidance, Control, and Dynamics30(1), 133–143 (2007)

29. Tayebi, A., McGilvray, S., Roberts, A., Moallem, M.: Attitude estimation and stabilizationof a rigid body using low-cost sensors. In: Proceedings of the 46th IEEE Conference onDecision and Control, pp. 6424 –6429. New Orleans, USA (2007)

30. Thienel, J., Sanner, R.: A Coupled Nonlinear Spacecraft Attitude Controller and ObserverWith an Unknown Constant Gyro Bias and Gyro Noise. IEEE Transactions on AutomaticControl 48(11), 2011–2015 (2003)

31. Vasconcelos, J., Cunha, R., Silvestre, C., Oliveira, P.: A nonlinear position and attitudeobserver on SE(3) using landmark measurements. Systems & Control Letters 59(3-4),155–166 (2010)

32. Vasconcelos, J., Silvestre, C., Oliveira, P., Batista, P., Cardeira, B.: Discrete Time-VaryingAttitude Complementary Filter. In: Proceedings of the 2009 American Control Conference,pp. 4056–4061. Saint Louis, MO, USA (2009)

33. Celikovsky, S., Chen, G.: Secure Synchronization of a Class of Chaotic Systems from aNonlinear Observer Approach. IEEE Transactions on Automatic Control 50(1), 76–82(2005)

34. Wahba, G.: A Least Squares Estimate of Spacecraft Attitude. SIAM Review 7(3), 409(1965)

35. Wang, C., Lachapelle, G., Cannon, M.: Development of an Integrated Low-Cost GPS/RateGyro System for Attitude Determination. Journal of Navigation 56(1), 85–101 (2004)

36. Wu, A., Hein, D.: Stellar inertial attitude determination for LEO spacecraft. In: Proceed-ings of the 35th IEEE Conference on Decision and Control, vol. 3, pp. 3236–3244. Kobe,Japan (1996)