Transcript

Satellite Attitude Determination with AttitudeSensors and Gyros using Steady-state Kalman Filter

Vaibhav V. Unhelkar ∗, Hari B. Hablani†∗ Student, email: [email protected]. † Professor, email: [email protected]

Department of Aerospace Engineering, Indian Institute of Technology Bombay, Mumbai - 400076

Abstract—Attitude determination, along with attitude control,is critical to functioning of every space mission. Here, weinvestigate the application of a steady-state Kalman Filter forattitude determination using attitude sensors (sun sensor andhorizon sensors) and rate integrating gyros. The three-axissteady-state Kalman Filter formulation, adopted from literature,offers obvious computational advantages for on-board implemen-tation on spacecrafts. Thus, closed loop simulation, involvingthe attitude determination formulation, true attitude dynamicsand attitude control, for a satellite are developed in MATLABr-Simulink. Based on the simulation, performance of the filter foran Earth-pointing Low Earth Orbit satellite is presented, in orderto examine the applicability of the steady-state Kalman Filter forsatellite attitude determination.

I. INTRODUCTION

Maintaining a desired orientation in space, with a spec-ified level of accuracy, is a mission requirement for everyspacecraft. Attitude determination along with attitude controlis responsible for satisfying this requirement. The level ofaccuracy required varies, depending on the function of thespacecraft, which in turn effects the selection of sensors andcomplexity of algorithm.

During the past four decades, a lot of research has beendone in the area of spacecraft attitude determination. Variousalgorithms exist in the literature, with varied level of com-plexity and applicability. The choice of algorithm for a missiondepends on pointing accuracy requirements, the type of sensorsavailable and capability of the on-board computer.

Following [1] and [6], which provide a comprehensivesurvey of existing attitude determination approaches, attitudedetermination methods can be broadly categorized as

• Single Frame Methods• Sequential Methods

Single frame methods are essentially those methods whichdo not require any a priori information/estimate and giveinformation of attitude based only on current measurements.These methods require a minimum of two independent vec-tor measurements, so as to determine the complete attitudeinformation. Sensors measuring reference vectors, such as,Sun sensors, Horizon sensors and Star trackers, are used todetermine attitude using single frame methods. Methods alsoexist which optimally utilize information from more than tworeference vectors to provide the attitude information. Someexamples of single frame methods include, TRIAD, QuEst(Quaternion Estimator) and Davenport’s q-method.

Sequential methods are those which utilize past informationand provide the solution of the attitude using both thepast estimate and current measurement. This mixing of pastestimate with the current measurement is usually achieved byemploying filters (such as, Kalman Filter). These methods aregenerally more accurate and robust than single frame methodsand can also provide reliable attitude information when somemeasurements are missing. Furthermore, sequential methodsbeing recursive have minimum memory requirements. Correc-tion or updates to the estimate can be achieved through anyof the reference sensors used for single frame methods.

Here, we present simulation for a sequential attitudedetermination algorithm using attitude measurements (fromSun sensors and Horizon sensors) and gyros. Applicationof Kalman Filter for these set of sensors has been exploredin detail [4]. However, calculation of Kalman Gains iscomputationally burdensome. Hence, the performance of asteady-state Kalman Filter is examined for the above setof sensors. The three-axis Kalman Filter formulation hasbeen adopted from [2], which develops upon the single-axissteady-state analysis of [1]. Corrections obtained from attitudemeasurements are assumed to be obtained from a single-framemethod, and are modeled as true attitude with white noise.The rate integrating gyro output provides the incrementalattitude information corrupted by varying drift-rate bias,white noise and quantization noise.

II. SENSOR MODELS

In this section, we describe the sensor models being usedin our attitude determination algorithm.A. Rate Integrating Gyros

Gyros are inertial sensors which measure the informationrelated to angular velocity in the body frame. Gyros are ofvarious types - such as, mechanical gyros, ring laser gyros(RLG), fiber optic gyros (FOG) - and can be classified basedon their accuracy, mechanisms and form of output. Rate gyrosmeasure angular rate directly, while the rate-integrating gyrosmeasure integrated angular rate. Rate integrating gyros aretypically more accurate [1]. For our analysis rate integratinggyros are used; also, the mathematical parameters of the gyroerrors are taken corresponding to that of Fiber Optic Gyros.

A generic model of the rate integrating gyro is used ([1]),allowing for testing the estimation algorithms for differenttypes of gyros. The rate integrating gyros measure the incre-mental attitude information along with some noise. The overall

measurement equation along with the errors for the gyro isgiven as

∆ϕk

= ∆θk + Tgyrobk + βk

+ νq,k (1)

where

∆θk =

∫ (k+1)Tgyro

kTgyro

ωin(t)dt (2)

ωin = Amisalignω (3)

The term ∆θk expresses the true change in the spacecraftattitude, while the ∆ϕ

kdenotes the rate integrating gyro

output. The gyro drift rate bias is denoted by bk, while zero-mean noise due to continuous time random-walk rate vectornv(t) and drift acceleration nu(t) is expressed by βk. Thevariance of β

kis a 3×3 diagonal matrix for which the diagonal

element is σ2β = σ2

βTgyro + σ2uT

3gyro/3, where σ2

v rad2/sand σ2

u (rad2/s3) are power spectral densities of the scalarelements of nv and nu, respectively. The gyro drift-rate biaschanges and this change is represented as

bk = bk−1 + αk (4)

where αk is a zero-mean discrete random-rate noise vector,with variance of each element being σ2

α = σ2uTgyro ([1]). The

term νq,k represents the quantization error of the gyro. Lastly,scale and misalignment errors occur due to the mechanicalmisalignments in the system, or intrinsic sensor errors. Theseerrors are quantified using the misalignment matrix, whichdescribes the transformation between the expected and actualsensor axes,

Amisalign =

Sx δxy −δxz−δyx Sy δyzδzx −δzy Sz

(5)

For simulations presented later, we have used the parametersof a rate integrating type Fiber Optic Gyro; the same are listedin Table I. No misalignment or scale errors are considered.The sampling rate of the gyros for the simulation is taken as100Hz.

TABLE IGYRO PARAMETERS

Parameter Value Unitsσv 7.27 µrad/

√s

σu 3× 10−4 µrad/s3/2

σe 15 µradTgyro 0.01 s

B. Attitude Sensors

Attitude sensors provide information of total attitude, asopposed to gyros which provide information about the incre-mental attitude. These sensors measure a reference vector andby comparing it with its modeled vector provide the requisiteattitude information. Determination of attitude from vectormeasurements is accomplished by the use of single framemethods. In our analysis, we assume the vector measurementshave been processed, and the output of attitude sensors isdescribed directly as the true attitude along with white noise.

Sun sensor and horizon sensors are used as the two attitudesensors. Sun sensors determine the direction of the sun (sun

vector) with respect to the satellite. A reference value of thesun vector can be determined using the position of the satellite,which can be compared against the measurement to determinethe yaw attitude. However, one disadvantage of using sunsensor is that no information is available during the eclipsephase of the satellite, i.e. when the satellite is in the shadowof the earth. This disadvantage is more prevalent in the LowEarth Orbits. Horizon sensors, also known as earth sensors,sense the earth’s radiation in certain frequency bands, namely,narrow infrared wavelength band corresponding to emissionline of CO2 molecule. Typically, heading and attitude are usedseparately, where sun sensors are used to measure heading andhorizon sensors are used to measure pitch and roll. Thus alongwith the sun sensor, the horizon sensors provide completeattitude information.

As mentioned earlier, a simple model considering onlywhite noise as the attitude error in the sensor output is used forthe two attitude sensors. The standard deviation of the discretewhite noise (σn) is different for sun sensor (yaw) and horizonsensors (roll and pitch). For simulation, the standard deviationin the discrete time white noise along the three axis is taken as,The attitude sensors provide output at a lower sampling rate as

TABLE IIATTITUDE SENSOR PARAMETERS

Parameter Value Unitsσn,roll 0.0667 degσn,pitch 0.1000 degσn,yaw 0.0333 degTatt 1 sec

compared to the gyros. For our simulation, they are assumed tobe working at 1 Hz. Apart from the above mentioned sensors,on board hardware is required to measure the position of thespacecraft. For our analysis, we assume the position of thesatellite is known perfectly, and no error models for positionerrors and orbit propagation are considered.

III. ATTITUDE DETERMINATION FORMULATION

A steady-state three-axis Kalman Filter adopted from ([1]and [2]) is used for attitude determination. The steady-state filter is computationally better than the recursive gainKalman filter as the Kalman Gains are constant and can becomputed beforehand. This eliminates the need of on-boardmatrix computations; since, calculation of Kalman gains andassociated covariance propagation is not required for attitudedetermination.

The steady-state filter provides the estimate of the spacecraftattitude and the gyro drift-rate bias. The gyro measurements,which are available at a very high rate (100Hz), are usedas the process model for the filter. The attitude sensors areused for correction of the attitude estimate and gyro drift-ratebias and represent the measurement model. The prediction stepusing the rate integrating gyro measurements takes place ata higher rate, while the correction step is used only after apredetermined update interval (Tup).

Propagation equations, as they occur at a different rate,are described by using the subscript k. At the n-th gyrointerval correction step is applied using the attitude sensors.In the following analysis, the indices (−) and (+) indicate theestimates prior to and post measurement updates from attitudesensors, respectively. The choice of update interval dependson the sensor error characteristics, sensor sampling rate andrequired pointing accuracy, and is discussed subsequently.

A. Prediction

The errors in rate integrating gyro measurement ∆ϕ aredescribed in equation 1. Based on this gyro equation, thepropagation equations for the filter which utilizes the gyromeasurements ∆ϕ is given as:

∆θk = ∆ϕk− Tgyrobk (6)

bk = bk−1 (7)

In order to obtain incremental inertial attitude Ck,k−1 fromthe attitude estimates, following equation is used [7],

Ck,k−1 = 1−∆θ×k +

∆θk∆θT

k − ‖∆θk‖212

(8)

where 1 denotes the 3 × 3 Identity Matrix. This incrementalattitude information is used to obtain Ck,I , the estimate ofinertial to body direction cosine matrix, using the relation

Ck,I = Ck,k−1Ck−1,I . (9)

B. Steady-state Kalman Gains

In order to obtain the correction equations, we first needto determine the Kalman Filter gains. The gains depend oninnovation covariance, error covariance of the process noiseand that of the measurement noise. Following the steady-stateanalysis of [1], the Kalman Gains for each axis are representedusing three non-dimensional parameters - dependent on thesensor errors σu, σv, σn and the correction update interval Tup- characterizing Readout noise, Random-walk noise and Driftangle, respectively, -

Se =σeσn

(10)

Su =T

3/2up σuσn

(11)

Sv =T

1/2up σvσn

(12)

Based on steady-state covariance analysis, steady-state KalmanFilter gains are obtained as

Khs = (ζσn)−2

Pθθ(−)Pθb(−)Pθϕ(−)

=

1− ζ−2(ζTup)

−1Su(Se/ζ)2

(13)

where,

γ = (1 + S2e +

1

4S2v +

1

48S2u)

12 (14)

ζ = γ +1

4Su +

1

2(2γSu + S2

v +1

3S2u)

12 (15)

The steady-state covariances, both pre-update and post-update,are given as, for θ

Pθθ(−) = (ζ2 − 1)σ2n (16)

Pθθ(+) = (1− ζ−2)σ2n (17)

and for b,Pbb(−) = [ζ − (1 + S2

e )ζ−1]σuσnT−1/2up + (1/2)σ2

uTup (18)

Pbb(+) = [ζ − (1 + S2e )ζ−1]σuσnT

−1/2up − (1/2)σ2

uTup (19)

Although, the formulation for calculating the Kalman Gainsalong the three axes is same, the value of Kalman Gains forall the three axes will be different, as the value of the attitudesensor white noise (σn) is different in all the three axes.

C. CorrectionCorrection in the estimates is obtained by utilizing the

attitude sensors measurements, which are represented asCn.att,I =

(1− ν×att

)Cn,I (20)

where the vector νatt represents the white noise in the horizonsensors and Sun sensor. The standard deviation of the threeelements is different as listed in Table II.

To apply the correction using the Kalman Gains expressionof representing the measurement residual is required. For thesingle-axis analysis of [1], the measurement residual basedon the scalar attitude measurement θatt and a priori attitudeestimate θ (−) is given as

θatt − θ (−) (21)

For the three-axis implementation of the filter an expressionof the vector measurement residual is required. In orderto obtain a three-axis equivalent of the small angle errorwe follow the analysis provided in [2]. The small angleresidual can be represented for three-axis using the availabletransformation matrices,

θatt − θ (−)⇔ Cn.att,ICI,n.gyro (22)

≈ 1−(νatt − νn.gyro

)×(23)

= 1− ν×att/gyro (24)

Hence, νatt/gyro characterizes the required measurementresidual, and can be obtained in terms of the available matricesCn.att,I (from attitude measurement) and CI,n.gyro (fromestimator),

ν×hs/gyro = 1−Cn.att,ICI,n.gyro (25)

The correction equation in terms of νhs/gyro for attitude,

νst/update =

(1− ζ−2x )νhs/gyro,x(1− ζ−2y )νhs/gyro,y(1− ζ−2z )νhs/gyro,z

(26)

C0.gyro,I(+) = [1− ν×hs/update]Cn.gyro,I (27)

and bias are given as,

b(+) = b(−)−

Su,x(ζxTup)−1νhs/gyro,x

Su,y(ζyTup)−1νhs/gyro,y

Su,z(ζzTup)−1νhs/gyro,z

(28)

The filter thus provides estimates of inertial attitude whichcan be transformed to other frames as per the requirementof the attitude control sub-system. The estimates of bias areused to correct the gyro measurement. Next, we discuss theinitialization of the filter and selection of the update interval.

D. Initialization

In order to reduce the filter transients, the filter should beinitialized with the best attitude estimate available. On-boardthis a priori estimate can be obtained from the attitude sensormeasurements. These measurements are used to initialize theattitude states of the filter. The drift bias states of the filtershould be initialized with the drift bias value as specified inthe gyro data sheet or as obtained through ground testing ofthe gyro. In case prior attitude measurements are not available,then the filter should be initialized with state estimates as zero.

E. Update Interval

In the above formulation, all but one variables influencingKalman gains are dependent on the sensor characteristic. Theparameter Tup which influences Kalman Gains is independent,and can be chosen by the designer. The available values of theTup will of course be limited because of the sample time ofattitude sensors, and computational capability of the on-boardcomputer. Based on steady-state covariance analysis variationof achievable estimate covariance with respect to Tup can beobtained.

Fig. 1 and 2 show the achievable accuracy for differentvalues of update interval. The plots contain both the pre-updateand post-update covariance estimates of steady state errors andthe standard deviation of white noise of the respective attitudesensor axis. Using the following plots, the update time for oursimulations is chosen as 3 seconds as it provides the desiredestimation accuracy of ∼ 0.01 degrees at steady-state in allthe three axes.

100

101

102

103

104

0

0.05

0.1

Update Performance − Attitude

Tupdate

(in Sec)

φ (

in D

eg)

Sensor σP

θθ

0.5(−)

Pθθ

0.5(+)

100

101

102

103

104

0

0.1

0.2

Tupdate

(in Sec)

θ (

in D

eg)

100

101

102

103

104

0

0.05

0.1

Tupdate

(in Sec)

ψ (

in D

eg)

Fig. 1. Update Time Analysis - Attitude

F. Rate Estimation

Estimates of inertial angular velocity of the spacecraftare usually required for control of the satellite, and ω is

100

101

102

103

104

2

3

4x 10

−6 Update Performance − Bias Drift

Tupdate

(in Sec)

bx (

in D

eg

/s)

Pbb

(−)

Pbb

(+)

100

101

102

103

104

2

3

4x 10

−6

Tupdate

(in Sec)

by (

in D

eg

/s)

100

101

102

103

104

2.5

3

3.5x 10

−6

Tupdate

(in Sec)

bz (

in D

eg

/s)

Fig. 2. Update Time Analysis - Bias

incorporated in the state vector in many filters. However, inour case only gyro drift bias and satellite attitude is estimated.Using the estimates of gyro drift bias the gyro measurementcan be corrected for bias error but not for the zero meanrandom noise. The rate integrating gyro along with the aboveKalman filter provides estimate of incremental attitude. Since,the gyro works at a very high rate the incremental angles arevery small and will be related to ωkf as follows

∆θk = ∆ϕk− Tgyrobk (29)

ωkf ≈∆θkTgyro

(30)

However, the above estimate of angular rate still includesthe zero mean random noise. A low pass filter, with thefollowing transfer function, is employed to partially eliminatethis random noise from ω estimates

LPF(s) =ωlp

s+ ωlp(31)

Selection of ωlp will depend on the bandwidth of othersubsystems, and should be chosen such that it does notinterfere with the controller. As this filter will be implementedon the on-board computer we require digital version ofthis filter. Using, Tustin’s formula the transfer function isrepresented in z-domain

LPF(z) =Tgyro + Tgyroωlpz

−1

(Tgyroωlp + 2) + (Tgyroωlp − 2)z−1(32)

The estimate of ω, is thus obtained using the low pass filterfor each of the three components of the vector ωkf .

IV. DEVELOPMENT OF SIMULATIONS

In order to validate the attitude determination formulationpresented in the previous section, simulations were developedusing MATLABr-Simulink. A controller was included in thesimulation so as to observe the overall pointing accuracyobtained by the system. In this section, we present theequations used to simulate the true attitude dynamics, orbitpropagation and the controller.

Fig. 3. Overview of Simulation

The design of the simulation is kept modular, so that itcan be utilized to test different sets of sensors and attitudedetermination algorithms. Further, all of the above sub-systemswere simulated at different rates in order to account for sampletime of different sub-systems.

TABLE IIISIMULATION RATES OF DIFFERENT SUB-SYSTEMS

Sub-system Simulation RateTrue Dynamics 1000 Hz

Orbit Propagation 1000 HzSensors (Gyro) 100 Hz

Sensors (SS & HS) 1 HzEstimator 100 HzController 20 Hz

In our analysis, we consider three frames of reference. TheEarth Centered Inertial (ECI) frame is an inertial frame withorigin at the Earth’s center. The positive x-axis points in thedirection of the vernal equinox; the z-axis points towards thenorth pole. The y-axis is orthogonal to the other two axesand completes the right handed coordinate system. The LocalVertical Local Horizontal (LVLH) frame describes the currentorbit frame of the satellite, and has its origin at the center ofmass of the satellite. The z-axis points towards the center ofthe earth (direction of the nadir), the y-axis points oppositeto the orbit normal and the x-axis completes the right handedcoordinate system. The instantaneous LVLH frame is used asreference to measure the local attitude of the satellite. Bodyframe is an orthogonal coordinate system fixed to the satellitebody, with origin at the center of mass of the satellite.

A. True Attitude Kinematics and Dynamics

The attitude dynamics of the satellite is described usingbasic laws of motions for the system, and the set of equationssimulated have been listed below. The angular momentum of

the satellite and actuator system is expressed as h, while theangular momentum of the actuators alone is denoted by ha.ω denotes the inertial rate of the satellite, while ωa representsthe angular velocity of the reaction wheels (actuators) withrespect to the satellite. g

conand g

distdenote the control and

disturbance torque, respectively.Iω = −ω×h+ g

con+ g

dist(33)

ha = −gcon

(34)

where, haxhayhaz

=

Is 0 00 Is 00 0 Is

ωxωyωz

+

ωaxωayωaz

ha = Is(ω + ωa)

h = I(ω + ωa)

The above equations are moment balance equation ofsatellite and the actuator, respectively. Euler angles withrespect to LVLH are denoted as

[φ θ ψ

]′. The kinematics

of the satellite is described by relating the inertial angular ratesωBBI to the derivatives of Euler angles (with respect to LVLH),φθ

ψ

= S−1ωBBL = S−1(ωBBI −CBLω

LLI

)(35)

S−1 =1

cos θ

cos θ sin θ sinφ sin θ cosφ0 cos θ cosφ − cos θ sinφ0 sinφ cosφ

(36)

For the purpose of simulation, I the moments of inertia aretaken as

I =

20 0 00 25 00 0 10

kg m2

B. Orbit Propagation

Orbit propagation is required to determine the position ofthe satellite in space, which in turn determines the trans-formation from ECI frame to LVLH frame. A simplifiedorbit propagator is used to obtain this transformation. Theposition is described in terms of the six orbital parameters.The right ascension of the ascending node changes due tothe precession of the orbit, however this change is relativelysmall for the simulation time period, and hence the ascendingnode is taken constant for the purpose of our simulations. Acircular low Earth orbit with altitude equal to 500 km is chosenfor simulation. Other parameters of the orbit are tabulated asfollows

TABLE IVPARAMETERS FOR ORBITAL MOTION

Orbital Parameter Value UnitSemi-major axis, a Rearth + 500 km

Eccentricity, e 0Inclination, i 95.3 deg

Ascending Node, Ω 90 degArgument of perigee, ωper 0 deg

Orbital rate, n 0.0011 rad/sTrue anomaly, νanomaly n*(time) rad

The transformation matrix from ECI frame to LVLH frame,CLI , based on the above parameters is given as,

CLI =

0 1 00 0 −1−1 0 0

COI (37)

COI =

cu su 0−su cu 0

0 0 1

1 0 00 ci si0 −si ci

cΩ sΩ 0−sΩ cΩ 0

0 0 1

where, u = ωper + νanomaly

C. Controller

A controller is required for the purpose of simulation, inorder to observe the closed loop performance of the attitudeestimator. Several controllers both linear (PD, PID) and non-linear exist in the literature for satellite applications. Thechoice of controller depends on the design specification andthe type of actuators used.

TABLE VCONTROLLER PARAMETERS

δ 0.7ζ 0.707ωn

2π(0.5)(60)

= 0.2094

Here, we use a basic PID controller for our simulations.The gains of the PID controller were selected to obtain thedesired damping ratio (δ) of 0.707, and natural frequency (ωn)corresponding to a time period of half minute or (0.5)(60)seconds. The parameter δ influences the integral gain, andhelps to eliminate the steady-state error of the controller.The values of the normalized controller gains, for the listedspecifications, are listed in Table VI.

TABLE VINORMALIZED CONTROLLER GAINS

ad (2 + δ)ζωn 0.3998ap ω2

n(1 + 2δζ2) 0.0746ai δζω3

n 0.0045

Based on the above values of controller gains the controltorque vector is determined.

gcon

= I

(apθerr + ai

∫θerrdt+ adωerr

)(38)

θerr = θcom − θ (39)

ωerr = ωcom − ω (40)

Lastly, for all the simulation results presented the com-manded attitude and angular rate are given in Table VII.

TABLE VIICOMMANDED ATTITUDE AND RATE

Attitude Command (rad)φ θ ψ0 0 0

Rate Command (rad/s)ωx ωy ωz0 −n 0

In order to apply the control torque as calculated abovehardware (actuator) is required. As was with the controllers,various actuators too exist for satellite control. For our sim-ulation, we assume that three orthogonal reaction wheels areused to apply the requisite control torque along the three bodyaxes. The applied control action does not vary continuously,but changes after every 0.05 seconds, i.e. at a rate of 20 Hz.

V. SIMULATION RESULTS

In this section, we present the output of the attitude deter-mination method using the described simulation. Firstly, thesimulations are validated by checking the system performancewithout any estimator. Next, the performance of the filter ispresented with the specified sensor errors. Lastly, performanceof filter subject to different conditions, such as, eclipse, higherTup is discussed.

TABLE VIIIINITIAL ATTITUDE AND RATE ERROR

Initial Attitude(deg)φ θ ψ2 3 4

Initial Rate (rad/s)ωx ωy ωz0 3n 2n

All the simulations have been initialized by providing initialdisturbances in the attitude and rate, as listed in Table VIII.The controller tries to reduce these deviation and to bringthe system to the desired state. No disturbance torques areconsidered in the simulations. It should be noted that, inour implementation the correction from the attitude sensorsis applied to the filter as and when a measurement is received,and the algorithm does not need to wait till information isavailable for all the three axis.

A. Validation

0 200 400 600 800 1000 1200 1400 1600

−0.09

−0.08

Angular Momentum of System (Inertial Frame)

Time (in Sec)

hx (

in N

ms)

0 200 400 600 800 1000 1200 1400 1600

−0.03

−0.02

Time (in Sec)

hy (

in N

ms)

0 200 400 600 800 1000 1200 1400 1600−5

05

10

x 10−3

Time (in Sec)

hz (

in N

ms)

Fig. 4. Angular Momentum (ECI)

As there are no disturbance torques, the total angularmomentum of the spacecraft and the reaction wheel shouldremain conserved in the inertial (ECI) frame. The angularmomentum should remain conserved, whether, the estimatorand/or controller is used or not. Hence, for the validation ofeach simulation run, change in angular momentum is observed.Variation in angular momentum, caused due to the solver, isobserved to be lower than 0.01%. Fig. 4 shows the plot ofangular momentum for a typical simulation run.

B. Controller Performance

In order to observe performance of the controller in iso-lation, behavior of the satellite without any estimator isobserved. This is done to check the control sub-system, itstransients and steady state performance.

0 20 40 60 80 100−5

0

5Euler Angles (LVLH)

Time (in Sec)

φ (

in D

eg)

True

Command

0 20 40 60 80 100−5

0

5

Time (in Sec)

θ (

in D

eg)

0 20 40 60 80 100−5

0

5

Time (in Sec)

ψ (

in D

eg)

Fig. 5. Controller Performance with Ideal Sensors - Attitude

C. Kalman Filter Performance

The results of the three-axis attitude determination algo-rithm are now presented. The parameters update interval Tupand the low pass filter cut-off frequency ωlp are taken as 3seconds and 1Hz respectively. The Kalman filter is initialized

0 20 40 60 80 100−0.5

0

0.5Angular Rates (Inertial)

Time (in Sec)

ωx (

in D

eg/s

)

True

Commanded

0 20 40 60 80 100−1

0

1

Time (in Sec)

ωy (

in D

eg/s

)

0 20 40 60 80 100−1

0

1

Time (in Sec)

ωz (

in D

eg/s

)

Fig. 6. Controller Performance with Ideal Sensors - Inertial Rate

with measurements from attitude sensors (Sec. III-D). Thusestimation errors in attitude are similar in magnitude to theattitude sensor noise, and for our simulation are taken asspecified in Table IX.

TABLE IXINITIAL ESTIMATION ERRORS

Attitude Error(deg)φ θ ψ

0.0667 0.1000 0.0667Drift Bias Error (10−6 deg/s)

bx by bz0.7 0.7 0.7

The magnitude of initial errors in state estimates dependson the accuracy of reference sensors, hence the initial attitudeestimation error is of the order of 0.1 degrees. However, itshould be noted that this estimation error is present alongwith the initial pointing error, which is larger in magnitudeas specified in Table VIII. If no attitude reference informationis available a priori, then the filter will be initialized with stateestimates as zero, resulting in larger initial estimation error.

Fig. 7, compares the measured attitude by the attitudesensors (measurement error) and estimated attitude by thefilter (estimation error) with respect to the true attitude, forone component of the attitude(φ). As can be seen from Fig.8, the attitude estimates converge to the 1σ value withinapproximately one third of the orbital period. The estimationerrors for the gyro drift-rate bias (Fig. 9) do not decay to zero,however they converge to a finite steady-state value.

0 200 400 600 800 1000 1200 1400 1600−0.05

0

0.05

0.1

0.15

Euler Angle − φ (LVLH)

Time (in Sec)

φ (in

De

g)

Estimation Error

0 200 400 600 800 1000 1200 1400 1600−0.4

−0.2

0

0.2

0.4

Time (in Sec)

φ (in

De

g)

Measurement Error

Fig. 7. Attitude : Measurement and Estimation Error

0 200 400 600 800 1000 1200 1400 1600−0.1

0

0.1Estimation Error − Euler Angles (LVLH)

Time (in Sec)

φ (

in D

eg

)

Estimation Error

1 σ

0 200 400 600 800 1000 1200 1400 1600−0.2

0

0.2

Time (in Sec)

θ (

in D

eg

)

0 200 400 600 800 1000 1200 1400 1600−0.1

0

0.1

Time (in Sec)

ψ (

in D

eg

)

Fig. 8. Kalman Filter Performance : Attitude Estimates

0 200 400 600 800 1000 1200 1400 1600−5

0

5x 10

−6 Estimation Error − Gyro Bias

Time (in Sec)

bx (

in D

eg/s

)

Estimation Error

1 σ

0 200 400 600 800 1000 1200 1400 1600−5

0

5x 10

−6

Time (in Sec)

by (

in D

eg/s

)

0 200 400 600 800 1000 1200 1400 1600−5

0

5x 10

−6

Time (in Sec)

bz (

in D

eg/s

)

Fig. 9. Kalman Filter Performance : Bias Estimates

D. Variation with Update Time

For the above set of simulations, update time was takento be 3 seconds. Simulations with a larger update time alsoyielded reduction in estimation error although with somereduction in performance. As predicted by the analysis insection III-E, with increase in update time the steady statecovariance increases, due to which the achievable pointingaccuracy reduces. Also, the initial transients in the filter takelonger to decay. Lastly, the measurement update from attitudesensors produce a more visible correction in the estimationerrors, specially when the correction intervals were larger than100 seconds.

E. Partial update

The attitude sensors generally provide complete attitudeinformation. However, during flight some cases may arisewhen only partial attitude information might be available.This may happen for instance during the eclipse phase ofthe satellite orbit when the sun sensors do not function.Performance of the filter for this case was also examined,with only partial attitude information along roll and pitchavailable, and yaw information unavailable. The estimatesalong the yaw-axis did not converge, however they still

remained bounded for the period of simulation of 1800seconds (which approximately corresponds to the eclipsephase of a low Earth orbit). After the eclipse phase, whencomplete attitude information was available, the filter resumedfunction and reduced estimation errors in all the three axes.

F. Low Pass Filter

0 200 400 600 800 1000 1200 1400 1600−1

−0.5

0

0.5

1Low Pass Filter − Angular Rates (x) (Inertial)

Time (in Sec)

Unf

ilter

ed ω

x (in

Deg

/s)

0 200 400 600 800 1000 1200 1400 1600 1800−0.5

0

0.5

Time (in Sec)

Filte

red

ωx (i

n D

eg/s

)

Fig. 10. Low Pass Filter : Angular Rate

Lastly, we demonstrate the improvement obtained due to theuse of a Low Pass Filter. As angular rate is not an elementof the state vector of the filter, white noise persists in theestimate of angular rate obtained using the estimate of biasdrift. The low pass filter removes this noise partially andimproves the estimates of the ω. The applications of the lowpass filter strongly affects the calculation of control torque,which is directly dependent on the estimate of ω. The lowpass filter improves the applied control torque by removing theunwanted high frequency changes in the torque, which mighthave adverse effect on both the actuator hardware as well asthe performance of the attitude determination algorithm.

0 20 40 60 80−0.1

0

0.1Control Torque (Body Frame)

Time (in Sec)

gc−

x (in

Nm

)

0 20 40 60 80−0.2

0

0.2

Time (in Sec)

gc−

y (in

Nm

)

0 20 40 60 80−0.1

0

0.1

Time (in Sec)

gc−

z (in

Nm

)

(a) Without LPF

0 20 40 60 80−0.1

0

0.1Control Torque (Body Frame)

Time (in Sec)

gc−

x (in

Nm

)

0 20 40 60 80−0.2

0

0.2

Time (in Sec)

gc−

y (in

Nm

)

0 20 40 60 80−0.1

0

0.1

Time (in Sec)

gc−

z (in

Nm

)

(b) With LPF

Fig. 11. Low Pass Filter - Control Torque

G. Recursive gain Kalman Filter

Simulation with attitude determination using the conven-tional, recursive gain Kalman Filter were done, in order tocompare the performance of the steady-state Kalman filter.The recursive gain Kalman Filter provides optimal gainsthroughout and not just at steady state; thus, causing reductionin transient period by around 200 seconds to achieve thecorresponding steady-state covariance, however, at a muchhigher computational cost. Hence, depending on the missionrequirements and available computation power, a choice canbe made whether to use the recursive gain Kalman Filter orits steady-state version.

0 200 400 600 800 1000 1200 1400 1600−0.1

0

0.1Estimation Error − Euler Angles (LVLH)

Time (in Sec)

φ (

in D

eg)

Estimation Error

1 σ (Steady State KF)

0 200 400 600 800 1000 1200 1400 1600−0.1

0

0.1

Time (in Sec)

θ (

in D

eg)

0 200 400 600 800 1000 1200 1400 1600−0.1

0

0.1

Time (in Sec)

ψ (

in D

eg)

Fig. 12. Performance of recursive gain Kalman Filter

VI. CONCLUSION AND COMMENTS

Attitude determination simulations for a low Earth orbitingsatellite were developed. A PID controller was used to test theclosed loop performance of the estimator. A three-axis steady-state Kalman Filter was implemented and tested.

With the help of simulations, we demonstrate that thesteady-state Kalman Filter is able to achieve desired estimationaccuracy. The attitude estimation errors converged to desiredsteady state value for update interval of 3 seconds. Drift biasestimation errors did not decay to zero, however, stabilizedto an acceptable constant steady state error. Hence, based onthe on-board computational capabilities of the satellite, thesteady-state Kalman Filter may be a favorable choice.

Use of the steady-state Kalman Filter has obvious com-putational advantages for on-board implementation; hence, inorder to further confirm the above conclusion, advanced sensorerror models as well as realistic orbit propagation shouldbe included in future analysis. Furthermore, to confirm thatthe controller along with the estimator will eventually leadto stability of the equilibrium point of the system, stabilityanalysis needs to be performed. However, the present analysisand simulation, despite the aforesaid simplifications, illustratethe use of steady-state Kalman Filter as a possible alternativeto the conventional recursive gain Kalman Filter, for attitudeestimation of satellites.

REFERENCES

[1] F. Markley and R. Reynolds, “Analytic steady-state accuracy ofa spacecraft attitude estimator,” Journal of Guidance, Control, andDynamics, vol. 23, no. 6, 2000.

[2] H. B. Hablani, “Autonomous inertial relative navigation with sight-line-stabilized integrated sensors for spacecraft rendezvous,” Journal ofGuidance, Control, and Dynamics, vol. 32, no. 1, 2009.

[3] F. Markley, “Spacecraft attitude determination methods,” Israel AnnualConference on Aerospace Sciences, 2000.

[4] E. Lefferts, M. Shuster, and F. Markley, “Kalman filtering for spacecraftattitude estimation,” Journal of Guidance, Control, and Dynamics, vol. 5,no. 5, 1982.

[5] V. Chobotov, Orbital Mechanics, 3rd ed. AIAA Education Series, 2002.[6] J.R.Wertz, Ed., Spacecraft Attitude Determination and Control. Com-

puter Sciences Corporation, 1978.[7] P. Hughes, Spacecraft Attitude Dynamics. Dover Publications, 2004.[8] M. Sidi, Spacecraft Dynamics and Control. Cambridge University Press,

1997.[9] Y. Bar-Shalom, X. Li, and T. Kirubarajan, Estimation with Applications

to Tracking and Navigation. John Wiley & Sons, 2001.


Recommended