Hamza h 2014

© All Rights Reserved

1 views

Hamza h 2014

© All Rights Reserved

- Computer-Aided Analysis of Mechanical Systems
- Sensorless Control of Hybrid Stepper Motor
- MEC31-1
- Kinetics of Rigid Bodies
- Aerial Robotics Lecture 2C_4 Quadrotor Equations of Motion
- Quadrotor Equations of Motion
- Gravity Aid INS
- Robust Navigation of UAV’s by Fusion of Vision, InS and GPS
- A Force Torqe Relationship and Its Experimental Verification for Flexible Link Manipulator
- Tipi
- syllabus
- A Geometric Method for Kinematics of Delta Robot and its Path Tracking Control.pdf
- Observers
- Fast Vision-Aided Inertial Navigation Using Low-Cost Sensors
- InTech-Data Association Techniques for Non Gaussian Measurements
- kaman2.pdf
- Version 2 Relative Motion
- Ky 2418521856
- 587913
- Lin et al

You are on page 1of 17

1, 2014 17

Kalman filter technique for low earth orbit satellite

School of Mechatronic Engineering,

Pauh Putra Campus,

Universiti Malaysia Perlis,

02600 Arau, Perlis, Malaysia

E-mail: hazadura@gmail.com

E-mail: sazali22@yahoo.com

*Corresponding author

within the system of the satellite. In this paper, a rigorous derivation of

mathematical model of satellite’s attitude with gravity gradient moment, which

is inherent in low-orbit satellite is presented. Additionally, attitude estimation

using Kalman filter technique is employed to predict the actual satellite’s

attitude despite the noise presence in the system. As for demonstration purpose,

a simulation of the attitude estimation via Kalman filter is carried out using

MATLAB software. Through the simulation result, the importance of filtering

technique for attitude estimation is realised.

Keywords: mathematical model; satellite’s attitude; gravity gradient moment;

attitude estimation; Kalman filter.

Reference to this paper should be made as follows: Hamzah, N.H. and

Yaacob, S. (2014) ‘Mathematical model and attitude estimation using Kalman

filter technique for low earth orbit satellite’, Int. J. Mechanisms and Robotic

Systems, Vol. 2, No. 1, pp.17–33.

Biographical notes: Nor Hazadura Hamzah received his MSc in Mathematics

from Faculty of Sciences, University of Technology Malaysia, Malaysia in

2007. She is currently enrolled in the PhD programme in Mechatronics

Engineering at University Malaysia Perlis, Malaysia. Her research interests

include non-linear systems, observers, and spacecraft guidance, navigation and

control systems.

Sazali Yaacob received his MSc in System Engineering at University of Surrey

and PhD in Control Engineering from University of Sheffield, UK in year 1987

and 1995, respectively. He is a Professor at University Malaysia Perlis. His

research interests are in control, modelling and signal processing with

applications in the fields of satellite, bio-medical, applied mechanics and

robotics. He has published more than 70 papers in journals and 200 papers in

conference proceedings. He received his professional qualification as a

Chartered Engineer from the Engineering Council, UK in 2005 and also a

member of the Institute of Engineering and Technology, UK since 2003.

This paper is a revised and expanded version of a paper entitled ‘Mathematical

model and attitude estimation using Kalman filter technique for low earth orbit

satellite’ presented at the International Conference on Man Machine Systems

(ICoMMS 2012), Penang, Malaysia, 27–28 February 2012.

18 N.H. Hamzah and S. Yaacob

1 Introduction

spacecraft is often described using three angles called roll (x-axis), pitch (y-axis) and yaw

(z-axis). Attitude analysis of a satellite is constantly being computed within the system of

the satellite throughout in space for mission accomplishment. Examples of satellite

mission are Earth observation, communication, scientific research and many other

missions. The analysis of a satellite’s attitude is performed in attitude determination and

control subsystem (ADCS).

ADCS is one of the most critical subsystems of the satellite that may determine the

success of the satellite to carry out the mission. Among many function subsystems,

ADCS is a mission-critical real-time embedded system and as such receives considerable

care to ensure reliable operation in space (Wertz, 1978). Generally, ADCS is decomposed

into several components including the plant/spacecraft dynamics itself, the attitude

determination system (ADS) (consisting the sensors and attitude estimation algorithm)

and attitude control system (ACS) (consisting the control algorithm and actuators). The

general structure of ADCS is shown in Figure 1. Basically, the satellite’s attitude is

described by the Euler angles and angular rate. In general, the attitude is measured using

sensors. However, since most of the sensors are inherent with noises (e.g., random noise

and bias noise), hence, the estimator is required to provide the best estimate of the current

attitude in spite of the noise presence in the measurement. Subsequently, the estimated

attitude will be fed back into the controller, in which the controller send the desired

command to the actuators, as the actuators provide the required forces or torques to

control the satellite’s attitude into the desired attitude.

Environment

Reference: Implemented by ADCS

1. Euler angles software hardware

2. Angular rates Disturbance

3. Angular

acceleration Spacecraft

Actuators

Controller dynamics

Output:

1. Euler angles

2. Angular rates

Sensors

Estimator

Feedback signal:

1. Euler angles

2. Angular rates

Mathematical model and attitude estimation using Kalman filter technique 19

Attitude estimation is one of the important processes in ADCS that ensuring the success

of a satellite mission. It is a process to estimate the attitude under the noise presence. Its

role is to provide the estimate of the current attitude to be fed back into the controller for

attitude control purpose. In early application of attitude estimation of spacecraft, Kalman

filter was developed to be applied in spacecraft navigation for the Apollo space

programme (Wertz, 1978). Since then, Kalman filter has found as most widely used

algorithm in most spacecraft since it provide the best estimate of the current attitude.

Kalman filter is an estimation technique that deals with linear model with assumption on

the noise measurements are Gaussian distribution. For non-linear dynamical system,

extended Kalman filter (EKF) is used to estimate the attitude where the non-linear model

is linearised such as worked done by Lefferts et al. (1982) and Markley (2003). Basically,

the existing attitude estimation schemes use different attitude representation either

Euler angles, Rodrigues parameter, or quarternion parameter (Bar-Itzhack and Oshman,

1985; Shuster, 1990; Psiaki, 2000) as their kinematic model. Other attitude estimation

approach that does not requires Gaussian assumption of the noise is particle filter

(Arulampalam et al., 2002; Cheng and Crassidis, 2004; Oshman Oshman, 2004).

In this paper, estimation of attitude represented by Euler angles is performed using

Kalman filter where the model in this paper is linear and the noise is assumed as

Gaussian white noise.

In order to perform the attitude estimation process, the dynamics model of satellite’s

attitude is required. Dynamics model of satellite’s attitude are well defined in literatures.

However, to the best of author knowledge, there is no reference that presented a rigorous

derivation on attitude dynamics equations for a three-axis stabilised satellite. Principally,

three axis stabilised satellite use momentum exchange devices to maintain the satellite

orientation in three-dimensional space (Sidi, 2000). Hence, in this paper, a rigorous

derivation on mathematical model of satellite’s attitude is provided.

The rest of this paper is organised as follows: derivation on the mathematical

model of satellite’s attitude is presented in Section 2; a brief description of Kalman

filter is given in Section 3; while the simulation example of attitude estimation

using Kalman filter is provided in Section 4; and lastly, the conclusion is drawn in

Section 5.

2 Mathematical model

(Abdelrahman and Park, 2011). Hence, in this paper, satellite attitude dynamics is derived

in this section. Mathematical model of satellite’s attitude is described by the dynamics

equation of motion and kinematics equation of motion. Satellite attitude dynamics

consists of integrating both the dynamics equation of motion and kinematics equation of

motion (Wertz, 1978) which provides the knowledge of satellite’s attitude and its angular

velocity. Before that, it is more convenient to know the basic coordinate system which is

useful for attitude kinematics derivation.

20 N.H. Hamzah and S. Yaacob

Basically, there exist three coordinate frames, which are orbit reference frame, body axis

frame and inertial axis frame, as shown in Figure 2. The origin of the orbit reference

frame moves with the centre of mass of the satellite in the orbit. The ZR axis points

toward the centre of mass of the earth; the XR axis is in the plane of the orbit,

perpendicular to the ZR axis, in the direction of the velocity of the satellite; and the YR

axis is normal to the local plane of the orbit, completing a three-axis right-hand

orthogonal system (the subscript ‘R’ denotes for reference). The satellite’s body axis

frame is defined by XB, YB and ZB (the subscript ‘B’ denotes body). While inertial axis

frame defined by XI, YI and ZI (the subscript ‘I’ denotes inertial), has its origin at the

centre of mass of the earth.

The changes in orientation of a satellite, due to external forces acting on the body are

known as kinematics equation of motion. The satellite’s attitude with respect to any

reference frame can be represented by either direction cosine matrix [A], or quaternion

vector q, or Euler angles (Shuster, 1993). In our treatment, Euler angles is used to

represent the satellite’s attitude as its straightforward physical interpretation for analysis

and commonly employed for three axis stabilised satellite for which small angle

approximations can be used (Wertz, 1978). Euler angles are defined as the rotational

angles about the body axis as follows: φ, rotational angle about the XB axis (roll); θ,

rotational angle about the YB axis (pitch); and φ, rotational angle about the ZB axis (yaw).

Two important factors in satellite kinematics are the angular velocity vector of the

body frame relative to the reference frame, denoted by ωBR and the angular velocity of the

reference frame relative to inertial frame denoted by ωRI. When the ωRI is expressed in

the body frame, it is denoted by ω(RI)B. Hence, the velocity vector of the body frame

relative to inertial frame is given by

Mathematical model and attitude estimation using Kalman filter technique 21

ω BI = ω BR + ω( RI ) B (1)

The angular velocity vector ωBR is of importance, because it allows to calculate Euler

angles of the moving body with respect to any defined reference frame in space. In this

paper, the Euler angle rotation for the transformation order of ϕ − θ − φ (or some

literatures use symbol 3-2-1) is treated.

Let [ Aφ ],[ Aθ ], and [ Aϕ ] denote the attitude transformation about the XB axis by an

angle φ, about the YB axis by an angle θ, and about the ZB axis by an angle φ respectively,

where

⎡ cϕ sϕ 0⎤ ⎡cθ 0 − sθ ⎤ ⎡1 0 0⎤

[ Aϕ ] = ⎢⎢ − sϕ cϕ 0 ⎥⎥ ,[ Aθ ] = ⎢⎢ 0 1 0 ⎥⎥ , and [ Aφ ] = ⎢⎢0 cφ sφ ⎥⎥ (2)

⎢⎣ 0 0 1 ⎥⎦ ⎢⎣ sθ 0 cθ ⎥⎦ ⎢⎣0 − sφ cφ ⎥⎦

Note that c and s denote cos and sin, respectively. Hence, the direction cosine matrix

expressed in the Euler angles which represent the rotation of the body axes relative to the

reference axis frame is

⎡ cθ cϕ cθ sϕ − sθ ⎤

⎢

[ Aϕθφ ] = [ Aφ ][ Aθ ][ Aϕ ] = ⎢ −cφ sϕ + sφ sθ cϕ cφ cϕ + sφ sθ sϕ sφ cθ ⎥⎥ (3)

⎢⎣ sφ sϕ + cφ sθ cϕ − sφ cϕ + cφ sθ sϕ cφ cθ ⎥⎦

Suppose that angular velocity vector of the body frame relative to reference frame, ωBR is

denoted by

⎡ p⎤

ω BR = pi + qj + rk = ⎢⎢ q ⎥⎥ (4)

⎢⎣ r ⎥⎦

The relation between ωBR and the Euler angles as well as their derivatives is obtained

through the following explanation. The first rotation, about the ZB axis (axis 3) leads to

the derivative dφ/dt about the ZB axis in which this derivatives is subject to three

successive angular transformations (φ, θ and finally φ). The second transformation about

the YB axis by an angle θ, produces the derivative dθ/dt, which is subject to two angular

successive angular transformation (θ and then φ). The last rotation about the XB axis,

produces the derivative dφ/dt and is subject to only one attitude transformation before the

final angular position of the body coordinate system relative to reference coordinate

system is reached. Hence by the explanations, these derivatives are transformed to the

body angular rates p, q, and r by the following equation

22 N.H. Hamzah and S. Yaacob

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

ω BR = ⎢ q ⎥ = [ Aφ ][ Aθ ][ Aϕ ] ⎢ 0 ⎥ + [ Aφ ][ Aθ ] ⎢θ ⎥ + [ Aφ ] ⎢ 0 ⎥

⎢⎣ r ⎥⎦ ⎢⎣ϕ ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢0⎥

⎣ ⎦

⎡ cθ cϕ cθ sϕ − sθ ⎤ ⎡0⎤

= ⎢ −cφ sϕ + sφ sθ cϕ cφ cϕ + sφ sθ sϕ sφ cθ ⎥⎥ ⎢⎢ 0 ⎥⎥

⎢

⎢⎣ sφ sϕ + cφ sθ cϕ − sφ cϕ + cφ sθ sϕ cφ cθ ⎥⎦ ⎢⎣ϕ ⎥⎦

(5)

⎡ cθ 0 − sθ ⎤ ⎡ 0 ⎤ ⎡1 0 0 ⎤ ⎡φ ⎤

⎢ ⎥

+ ⎢⎢ sφ cθ cφ sφ cθ ⎥⎥ ⎢⎢θ ⎥⎥ + ⎢⎢0 cφ cφ ⎥⎥ ⎢ 0 ⎥

⎢⎣cφ sθ − sφ cφ cθ ⎥⎦ ⎢⎣ 0 ⎥⎦ ⎢⎣0 − sφ cφ ⎥⎦ ⎢⎣ 0 ⎥⎦

⎡ φ − ϕ sθ ⎤

⎢ ⎥

∴ ω BR = ⎢ θcφ + ϕ sφ cθ ⎥

⎢ −θsφ + ϕ cφ cθ ⎥

⎣ ⎦

However, angular velocity of the body relative to inertial frame ωBI is given by

ω BI = ω BR + ω ( RI ) B where angular velocity of the orbit reference frame relative to inertial

frame is given by

⎡ 0 ⎤

ω RI = ⎢⎢ −ω0 ⎥⎥ (6)

⎢⎣ 0 ⎥⎦

Hence, the angular velocity of the orbit reference frame relative to the body frame in

body axes frame, ω(RI)B becomes

⎡ 0 ⎤ ⎡ cθcφ cθsφ − sθ ⎤ ⎡ 0 ⎤

ω( RI ) B = ⎡⎣ Aφθφ ⎤⎦ ⎢ −ω0 ⎥ = ⎢ −cφ sφ + sφ sθcφ cφ cφ + sφ sθsφ sφ cθ ⎥⎥ ⎢⎢ −ω0 ⎥⎥

⎢ ⎥ ⎢

⎢⎣ 0 ⎥⎦ ⎢⎣ sφ sφ + cφ sθcφ − sφ cφ + cφ sθsφ cφ cθ ⎥⎦ ⎢⎣ 0 ⎥⎦

(7)

⎡ −ω0 cθsφ ⎤

∴ ω( RI ) B ⎢ −ω0 (cφ cφ + sφ sθsφ) ⎥⎥

⎢

⎢⎣ −ω0 (− sφ cφ + cφ sθsφ) ⎥⎦

motion is actually the angular velocity of body relative to inertial frame, i.e., ω = ωBI.

Hence,

Mathematical model and attitude estimation using Kalman filter technique 23

⎢ ⎥ ⎢ ⎥

ω = ωBI = ωBR + ω( RI ) B = ⎢ θcφ + φs φ cθ ⎥ + ⎢ − ω ( cφ cφ + sφ sθsφ)

0 ⎥

⎢ ⎥ ⎢ −ω0 ( − sφ cφ + cφ sθsφ ) ⎥

⎣ − θsφ +

φc φ cθ ⎦ ⎣ ⎦

(8)

⎡ ωx ⎤ ⎡ φ − φsθ

− ω0 cθsφ ⎤

⎢ ⎥ ⎢ ⎥

∴ ω = ⎢ωy ⎥ = ⎢ θc φ + φs

φ cθ − ω0 (cφ cφ + sφ sθsφ) ⎥

⎢⎣ ωz ⎥⎦ ⎢ −θs

⎥

⎣ φ + φc φ cθ − ω0 (− sφ cφ + cφ sθsφ) ⎦

and

⎡ ω x ⎤

∴ ω = ⎢⎢ ω y ⎥⎥

⎢⎣ ω z ⎥⎦

⎡ φ − ( φθcθ ) − ω0 ( −θsθsφ

+ φsθ + φcθcφ

) ⎤

⎢ ⎥

⎢ φ − θφsφ + φs

⎧⎪θc φ cθ + φφcφ cθ − φθs φ sθ − ⎫⎪ ⎥ (9)

⎢ ⎨ ⎬ ⎥

=⎢ ⎩⎪ ⎣

ω 0 ⎡ ( −φ sφ cφ −

φc φ sφ ) + ( φc φ sθsφ +

θs φ cθsφ +

φs φ sθcφ ) ⎤

⎦ ⎭⎪ ⎥

⎥

⎢

⎢ ⎧⎪ − θs φ − θφcφ + φc φ cθ − φφsφ cθ − φθc φ sθ − ⎫⎪⎥

⎢ ⎨ ⎬⎥⎥

⎢

⎣ ⎪⎩ ⎣ω 0 ⎡ ( − φc φ cφ +

φs φ sφ ) + ( − φ sφ sθsφ +

θc φ cθsφ +

φc φ sθcφ ) ⎤

⎦ ⎭⎪⎦

The dynamics equation of motion describes the dependence between external torques

(disturbances and control torque) and the satellite’s angular velocity (Sidi, 2000).

Principally, the basic law governing the dynamics motion of rigid-body spacecraft is

similar for all spacecraft which is derived from Euler’s moment equation. Euler’s

moment equation describes the relation between the total external torque acting on a rigid

body and its angular momentum. In this section, the dynamics equation of motion for a

general satellite with momentum exchange devices (e.g., reaction wheels and momentum

wheels) will be derived since incorporating the devices for three-axis stabilisation

requires the momentum exchange devices dynamics also need to be included as an

additional term in Euler’s moment equation because the devices continuously rotating

and have their own angular momentum (Sidi, 2000; Wertz, 1978) which becomes a part

of the entire system in Euler’s moment equation. Thus, the attitude dynamics equation of

a satellite in the satellite body frame is derived from Euler’s moment equation (Sidi,

2000) as follows:

T = h + ω × h (10)

with T = Tc + Td and h = hB + hw. T which denotes the external torque, is break down into

two principal parts: Tc, control torque to be used for controlling the attitude motion of the

satellite; and Td, those torques due to different disturbing environmental phenomena

including aerodynamic drag, solar radiation pressure, gravity gradient and magnetic field

effects (Wertz, 1978). While, h is the momentum of the satellite in the body frame and h

24 N.H. Hamzah and S. Yaacob

denotes its first derivative. The momentum of the entire system is divided into the

angular momentums of the rigid body, hB = [hx hy hz ]T and the moment exchange

devices, hw = [hwx hwy hwz ]T . Finally, ω = [ω x ω y ω z ]T , is the angular velocity vector of

the body frame with respect to inertial frame. With these definitions, the general

equations of motion becomes

where

⎡ hx + hwx ⎤

hB + hW = ⎢ h + h ⎥

⎢ y wy ⎥ (12)

⎢ ⎥

⎣ hz + hwz ⎦

and ω × (hB + hW) is

⎡ i j k ⎤

⎢ ωz ⎥⎥

ω × ( hB + hW ) = ⎢ ωx ωy

⎢⎣ hx + hwx hy + hwy hz + hwz ⎥⎦

(13)

⎡( ωy hz − ωz hy ) + ( ωy hwz − ωz hwy ) ⎤

⎢ ⎥

= ⎢( ωz hx − ωx hz ) + ( ωz hwx − ωx hwz ) ⎥

⎢ ⎥

⎣( ωx hy − ωy hx ) + ( ωx hwy − ωy hwx ) ⎦

Hence, by substituting (12) and (13) into (11), the Euler’s moment equation of motion

become

⎢ ⎥ ⎢ ⎥

∴ ⎢Tcy + Tdy ⎥ = ⎢ hy + hwy + ( ωz hx − ωx hz ) + (ωz hwx − ωx hwz ) ⎥ (14)

⎢⎣Tcz + Tdz ⎥⎦ ⎢ h + h + ω h − ω h + (ω h − ω h ) ⎥

⎢⎣ z wz ( x y y x ) x wy y wx ⎥⎦

or the component-wise of (14) is given by

However, note that the angular momentum of rigid body, hB = [hx hy hz ]T is defined as

⎡ I xx − I xy − I xz ⎤ ⎡ ωx ⎤

⎢−I ⎥

− I yz ⎥ and ω = ⎢⎢ωy ⎥⎥

hB = I B ω where I B = ⎢ yx I yy (15)

⎢⎣ − I zx − I zy I zz ⎥⎦ ⎢⎣ ωz ⎥⎦

Mathematical model and attitude estimation using Kalman filter technique 25

⎡ hx ⎤ ⎡ I xx − I xy − I xz ⎤ ⎡ ωx ⎤ ⎡ I xx ωx − I xy ωy − I xz ωz ⎤

⎢ − I yz ⎥⎥ ⎢⎢ωy ⎥⎥ = ⎢⎢ I yy ωy − I yx ωx − I yz ωz ⎥⎥

hB = ⎢⎢ hy ⎥⎥ = ⎢ − I yx I yy (16)

⎢⎣ hz ⎥⎦ ⎢⎣ − I zx − I zy I zz ⎥⎦ ⎢⎣ ωz ⎥⎦ ⎢⎣ I zz ωz − I zx ωx − I zy ωy ⎥⎦

⎡ hx ⎤ ⎡ I xx ω x − I xy ω y − I xz ω z ⎤

⎢ ⎥

hB = ⎢ hy ⎥ = ⎢⎢ I yy ω y − I yx ω x − I yz ω z ⎥⎥ (17)

⎢ ⎥ ⎢ I zz ω z − I zx ω x − I zy ω y ⎥

⎣ hz ⎦ ⎣ ⎦

Hence, by substituting the components of vectors in (16) and (17) into (14a), (14b) and

(14c), the dynamics equation of motion become

⎧⎪Tcx + Tdx = ⎣⎡ I xx ω x − I xy ω y − I xz ω z ⎦⎤ + hwx + ⎡⎣ wy ( I zz ωz − I xz ωx − I yz ωy ) ⎫⎪

⎨ ⎬ (18a)

⎩⎪−ωz ( yy y xy x

I ω − I ω − I yz ωz ) ⎤⎦ + ( ωy hwz − ωz hwy )

⎭⎪

⎨ ⎬ (18b)

⎪⎩−ωx ( I zz ωz − I xz ωx − I yz ωy ) ⎤⎦ + ( ωz hwx − ωx hwz ) ⎪⎭

⎨ ⎬ (18c)

⎪⎩−ωy ( I xx ωx − I xy ωy − I xz ωz ) ⎤⎦ + ( ωx hwy − ωy hwx ) ⎪⎭

Gravity gradient torque, Tgg is one of the environmental disturbance torques, Td and

cannot be neglected since it is inherent in low orbit satellite. It is continuously acting on

the spacecraft body and will affect satellite’s attitude motion. From Sidi (2000) and Fadly

et al. (2011), the gravity gradient torque is defined as

where c3 is the third column of direction cosine matrix, [Aφθφ] provided in (3).

Revise that from (3)

⎡ cθcφ cθsφ − sθ ⎤

⎢ ⎥

⎡⎣ Aφθφ ⎤⎦ = ⎢ −cφ sφ + sφ sθcφ cφ cφ + sφ sθsφ sφ cθ ⎥

⎢⎣ sφ sφ + cφ sθcφ − sφ cφ + cφ sθsφ cφ cθ ⎥⎦

Then

⎡ I xx − I xy − I xz ⎤ ⎡ − sθ ⎤ ⎡ − I xx sθ − I xy sφ cθ − I xz cφ cθ ⎤

⎢ − I yz ⎥⎥ ⎢⎢ sφ cθ ⎥⎥ = ⎢⎢ I yx sθ + I yy sφ cθ − I yz cφ cθ ⎥⎥

Ic3 = ⎢ − I yx I yy (20)

⎢⎣ − I zx − I zy I zz ⎥⎦ ⎣⎢cφ cθ ⎦⎥ ⎢⎣ I zx sθ − I zy sφ cθ + I zz cφ cθ ⎥⎦

and

26 N.H. Hamzah and S. Yaacob

c3 × Ic3

⎡ i j k ⎤

⎢ −sθ sφ cθ cφ cθ ⎥

=⎢ ⎥

⎢⎣−I xx sθ − I xy sφ cθ − I xz cφ cθ I yx sθ + I yy sφ cθ − I yz cφ cθ I zx sθ − I zy sφ cθ + I zz cφ cθ ⎥⎦

⎡ sφ cθ ⎡⎣ I zx sθ − I zy sφ cθ + I zz cφ cθ ⎤⎦ − cφ cθ ⎡⎣ I yx sθ + I yy sφ cθ − I yz cφ cθ ⎤⎦ ⎤

⎢ ⎥

{ }

(21)

= ⎢− −sθ ⎣⎡ I zx sθ − I zy sφ cθ + I zz cφ cθ ⎦⎤ − cφ cθ ⎣⎡ I xx sθ − I xy sφ cθ − I xz cφ cθ ⎦⎤ ⎥

⎢ ⎥

⎢⎣ −sθ ⎡⎣ I yx sθ + I yy sφ cθ − I yz cφ cθ ⎤⎦ − sφ cθ ⎡⎣−I xx sθ − I xy sφ cθ − I xz cφ cθ ⎤⎦ ⎥⎦

⎡ I zz sφ cφ c2θ − I yy c2θcφ sφ + I xz cθsθsφ − I xy sθcθcφ + I yz c2φ c2θ − I yz s2φ c2θ ⎤

⎢ ⎥

= ⎢ I zz cφ cθsθ − I xx sθcθcφ − I xy sφ cφ c2θ − I yz sφ cθsθ − I xz c2φ c2θ + I xz s2θ ⎥

⎢⎣ I xx cθsθsφ − I yy sφ cθsθ + I yz cφ cθsθ + I xz cφ sφ c2θ − I xy s2θ + I xy s2φ c2θ ⎥⎦

Hence, substituting (21) into (19), gravity gradient torque, Tgg becomes

∴ Tgg =

⎡ I zz sφ cφ c 2 θ − I yy c 2 θcφ sφ + I xz cθsθsφ − I xy sθcθcφ + I yz c 2φ c 2 θ − I yz s 2φ c 2 θ ⎤

⎢ ⎥ (22)

3ω02 ⎢ I zz cφ cθsθ − I xx sθcθcφ − I xy sφ cφ c 2 θ − I yz sφ cθsθ − I xz c 2φ c 2 θ + I xz s 2 θ ⎥

⎢ I cθsθsφ − I sφ cθsθ + I cφ cθsθ + I cφ sφ c 2 θ − I s 2 θ + I s 2φ c 2 θ ⎥

⎣ xx yy yz xz xy xy ⎦

A complete formulation of the satellite attitude dynamics under influence of gravity

gradient torque is obtained by substituting the component of vectors in (8), (9), (22) into

(18a), (18b) and (18c) which leads to the highly non-linear equations.

However, in this paper, it is assumed that the angular motion is approximated by

infinitesimal angular motion (i.e., small Euler angles and its derivatives) and the design is

under principal axes (i.e., the products of inertia can be eliminated). With these

assumptions, (8), (9), (22), (18a), (18b) and (18c) becomes

⎡ω x ⎤ ⎡φ − ω 0ϕ ⎤

⎢ ⎥

∴ ω = ⎢⎢ω y ⎥⎥ = ⎢ θ − ω 0 ⎥ (23)

⎢ ⎥

⎣⎢ω z ⎦⎥ ⎣ϕ + ω 0φ ⎦

⎢ ⎥

∴ ω = ⎢⎢ω y ⎥⎥ = ⎢ θ ⎥ (24)

⎢⎣ω z ⎥⎦ ⎢⎣ϕ + ω 0φ ⎥⎦

∴ Tgg = 3ω02 ⎢ I θ − I θ ⎥ = ⎢ 3ω2 ( I − I )θ ⎥ (25)

⎢ zz xx ⎥ ⎢ 0 zz xx ⎥

⎢⎣ 0 ⎥⎦ ⎢⎣ 0 ⎥⎦

Mathematical model and attitude estimation using Kalman filter technique 27

Substituting the components of vectors in (23), (24) and (25) into (26a), (26b) and (26c),

the linear attitude dynamics equations of motion are obtained (Sidi, 2000) as follows:

In this study, Kalman filter is used to demonstrate the estimation of satellite’s attitude

despite of disturbance or noise in the satellite’s attitude system. The Kalman filter is an

on-line, recursive algorithm trying to estimate the true state of a system where only

(noisy) observations or measurements are available (Richard and Robert, 2011). The

Kalman filter not only works well in practice, but also theoretically attractive since it is

an optimal estimator in the sense that minimises the variance of the estimation error.

Kalman filter requires a linear model of the process, as well as a linear model of the

measurement for the prediction and correction procedure (Richard and Robert, 2011) in

the estimation technique.

Kalman filter algorithm is described as follows (Tewari, 2002). Given the linear

system dynamics and measurement

x = Ax + w (28)

y = Cx + v (29)

with x is the system state vector, y is the measured output vector, w is the

dynamics/process noise with zero mean and covariance Q, i.e., w~(0, Q), and v is the

measurement noise with zero mean and covariance R, i.e., v~(0, R).

The estimated state x̂ is obtained by solving estimated dynamics equation

K = PC T R −1 (31)

28 N.H. Hamzah and S. Yaacob

4 Simulation

under presence of the noise is carried out using MATLAB software.

The satellite considered in the simulation is a mini-satellite of Malaysia, RazakSAT.

The satellite’s characteristics of RazakSAT are given in Table 1, which was provided by

Astronautic Technology Sdn Bhd (ATSB), the Malaysian company that responsible for

RazakSAT’s mission.

Table 1 RazakSAT’s characteristics

Moment of inertia, Iyy 2.62 × 107 kg.mm2

Moment of inertia, Izz 2.10 × 107 kg.mm2

Orbital rate, ω0 0.001063 rad/s or 0.0609 deg/s

For demonstration purpose, it is assumed that the satellite is in free motion in which there

is no particular torque drives the satellite’s attitude, so that the terms Tcx, Tcy, Tcz, Tdx, Tdy,

Tdz, hwx , hwy , hwz , hwx , hwy , hwz are excluded from (27a), (27b), and (27c). Hence, the

model used in this simulation is reduced to

⎛ I yy − I zz − I xx ⎞ I − I zz ⎞

2 ⎛ yy

φ + ω0 ⎜ ⎟ φ + 4ω0 ⎜ ⎟φ = 0 (33a)

⎝ I xx ⎠ ⎝ I xx ⎠

⎛ I xx − I zz ⎞

θ + 3ω 02 ⎜ ⎟θ = 0 (33b)

⎝ I yy ⎠

⎛ − I + I xx + I zz ⎞ I − I xx ⎞

2 ⎛ yy

+ ω0 ⎜ yy

φ ⎟ φ + ω0 ⎜ ⎟φ = 0 (33c)

⎝ I zz ⎠ ⎝ I zz ⎠

In order to implement Kalman filter technique, the linear dynamics model of the

satellite’s attitude is transformed into state space model. By defining x1 = φ, x2 = φ,

x3 = θ , x4 = θ, x5 = ϕ , and x6 = ϕ , equations (33a), (33b), and (33c) are transformed

into state space model as follows:

⎡ x1 ⎤ ⎡ 0 1 0 0 0 0 ⎤ ⎡ x1 ⎤

⎢ x ⎥ ⎢ −4ω2 σ 0 0 0 0 −ω0 (σ x − 1) ⎥⎥ ⎢⎢ x2 ⎥⎥

⎢ 2⎥ ⎢ 0 x

⎢ x3 ⎥ ⎢ 0 0 0 1 0 0 ⎥ ⎢ x3 ⎥

⎢ ⎥=⎢ ⎥⎢ ⎥ (34)

⎢ x4 ⎥ ⎢ 0 0 −3ω02 σ y 0 0 0 ⎥ ⎢ x4 ⎥

⎢ x5 ⎥ ⎢ 0 0 0 0 0 1 ⎥ ⎢ x5 ⎥

⎢ ⎥ ⎢ ⎥⎢ ⎥

⎢⎣ x6 ⎥⎦ ⎢⎣ 0 −ω02 σ z 0 0 −ω0 (1 − σ z ) 0 ⎥⎦ ⎢⎣ x6 ⎥⎦

Mathematical model and attitude estimation using Kalman filter technique 29

⎡ x1 ⎤

⎢x ⎥

⎡ y1 ⎤ ⎡1 0 0 0 0 0 ⎤ ⎢ ⎥

2

⎢ y ⎥ = ⎢ 0 0 1 0 0 0 ⎥ ⎢ x3 ⎥

⎢ 2⎥ ⎢ ⎥ ⎢x ⎥ (35)

⎢⎣ y3 ⎥⎦ ⎣⎢0 0 0 0 1 0 ⎦⎥ ⎢ 4 ⎥

⎢x ⎥

⎢ 5⎥

⎢⎣ x6 ⎥⎦

( I yy − I zz ) (I − I ) ( I yy − I xx )

σx = , σ y = xx zz , σ z = (36)

I xx I yy I zz

filtering technique to estimate the true attitude despite of noise presence. The simulation

results are shown through Figures 3 to 6. Figure 3 shows the time responses of true

satellite’s attitude with free of noise, which is simulated using equations (33a), (33b), and

(33c). From the figure, it is shown that the roll, pitch and yaw response oscillate within a

bounded amplitude of –50 to 50 for roll and pitch, while –200 to 200 for yaw response.

Figure 3 Time response of true satellite’s attitude (see online version for colours)

50

Roll angle (deg)

-50

0 500 1000 1500

Time (s)

50

Pitch angle (deg)

-50

0 500 1000 1500

Time (s)

200

Yaw angle (deg)

-200

0 500 1000 1500

Time (s)

30 N.H. Hamzah and S. Yaacob

Figure 4 Time response of satellite’s attitude under noise presence (see online version

for colours)

50

-50

0 500 1000 1500

Time (s)

100

Pitch angle (deg)

50

-50

-100

0 500 1000 1500

Time (s)

Yaw angle (deg)

200

-200

Time (s)

While, the time responses of satellite’s attitude as the noise is introduced in the satellite’s

attitude measurements are shown in Figure 4. It can be seen that the roll, pitch and yaw

measurements under noise presence are different from real attitude in Figure 3, with roll

and pitch oscillate with amplitude of more than 50 degree, while yaw amplitude

obviously oscillate more than 200 degree, which differ from the true attitude.

However, the true state of the system under the noisy measurement can be estimated

by using Kalman filter as shown in Figure 5.The differences between the true and the

estimated state are illustrated in Figure 6. It is the superposition between Figure 3 and

Figure 5. From Figure 6, it can be seen that the trendline of estimated attitude is quite

similar with the true one, where it is not easy to differentiate between the true and the

estimated state. Hence, root-mean-square error (RMSE) between the estimated and the

true state is calculated to measure the accuracy of the estimated state with

∑

n

i =1

( X i , ESTIMATE − X i ,TRUE )2

RMSE =

n

Mathematical model and attitude estimation using Kalman filter technique 31

Figure 5 Time response of estimated satellite’s attitude (see online version for colours)

50

0

-50

0 500 1000 1500

Time (s)

50

Pitch angle (deg)

-50

0 500 1000 1500

Time (s)

200

Yaw angle (deg)

100

-100

-200

0 500 1000 1500

Time (s)

The RMSE is a frequently used measure of the differences between values predicted by

an estimator and the values actually observed. It is a representative of the size of an

average error. The RMSE between the estimated and the true state is given in Table 2.

Hence, from the table, the average error between the estimated and the true roll, pitch and

yaw are 1.022016 deg, 1.414442 deg and 2.157519 deg, respectively. This demonstrates

the importance of filtering technique to estimate the true state under noisy environment.

RMSE (pitch) 1.414442 deg

RMSE (yaw) 2.157519 deg

32 N.H. Hamzah and S. Yaacob

Figure 6 Comparison between true and estimated satellite’s attitude (see online version

for colours)

50

True

Estimated

Roll angle (deg)

-50

0 500 1000 1500

Time (s)

50

True

Estimated

Pitch angle (deg)

-50

0 500 1000 1500

Time (s)

200

True

Estimated

Yaw angle (deg)

100

-100

-200

0 500 1000 1500

Time (s)

5 Conclusions

An overview of ADCS has been presented in this paper to give an overview of ADCS to

the readers. Then, the mathematical model of satellite attitude dynamics has been derived

rigorously for satellite’s attitude under influence of gravity gradient moment, which is

inherent in low earth orbit satellite. Afterwards, the demonstration of attitude estimation

despite of noise presence is accomplished via Kalman filter by using characteristics data

of RazakSAT, a mini satellite of Malaysia. From the simulation, the role of filtering

technique in estimating the actual satellite’s attitude under the noise presence is realised.

The accuracy of the estimated attitude is very important since it will be used for the

attitude control purpose, which determines the successful of a specific satellite mission.

Mathematical model and attitude estimation using Kalman filter technique 33

References

Abdelrahman, M. and Park, S-Y. (2011) ‘Simultaneous spacecraft attitude and orbit estimation

using magnetic field vector measurements’, Aerospace Science and Technology, Vol. 15,

pp.653–669.

Arulampalam, M.S., Maskell, S., Gordon, N. and Clapp, T. (2002) ‘A tutorial on particle filters for

online nonlinear/non-Gaussian Bayesian tracking’, IEEE Transactions on Signal Processing,

Vol. 50, No. 2, pp.174–185.

Bar-Itzhack, I.Y. and Oshman, Y. (1985) ‘Attitude determination from vector observations:

quaternion estimation’, IEEE Transactions on Aerospace and Electronic Systems, Vol. 21,

No. 1, pp.128–136.

Cheng, Y. and Crassidis, J.L. (2004) ‘Particle filtering for sequential spacecraft attitude estimation’,

AIAA Guidance, Navigation, and Control Conference, AIAA-04-5337.

Fadly, M., Othman, S., MdAzlin, M.S., Harijono, D. and Ain, A. (2011) ‘Deterministic and

recursive approach in attitude determination for InnoSAT’, TELKOMNIKA, Vol. 9, No. 3,

pp.583–594.

Lefferts, E.J., Markley, F.L. and Shuster, M.D. (1982) ‘Kalman filtering for spacecraft attitude

estimation’, Journal of Guidance, Control and Dynamics, Vol. 5, No. 5, pp.417–429.

Markley, F.L. (2003) ‘Attitude error representation for Kalman filtering’, Journal of Guidance,

Control and Dynamics, Vol. 26, No. 2, pp.311–317.

Oshman, Y. and Carmi, A. (2004) ‘Estimating attitude from vector observations using a genetic

algorithm-embedded quaternion particle filter’, AIAA Guidance, Navigation, and Control

Conference, AIAA-04-5340.

Psiaki, M.L. (2000) ‘Attitude determination filtering via extended quaternion estimation’, Journal

of Guidance, Control and Dynamics, Vol. 23, No. 2, pp.206–214.

Richard, C.D. and Robert, H.B. (2011) Modern Control System, Pearson Education Inc.,

New Jersey.

Shuster, M.D. (1990) ‘Kalman filtering of spacecraft attitude and the QUEST model’, Journal of

the Astronautical Sciences, Vol. 38, No. 3, pp.377–393.

Shuster, M.D. (1993) ‘A survey of attitude representations’, Journal of Astronautical Sciences,

Vol. 41, No. 4, pp.439–517.

Sidi, M.J. (2000) Spacecraft Dynamics and Control: A Practical Engineering Approach,

Cambridge University Press, Cambridge.

Tewari, A. (2002) Modern Control Design with MATLAB and Simulink, John Wiley and Sons Ltd.,

Kanpur.

Wertz, J.R. (1978) Spacecraft Attitude Determination and Control, Kluwer Academic Publishers,

Holland.

- Computer-Aided Analysis of Mechanical SystemsUploaded byLaurent Keersmaekers
- Sensorless Control of Hybrid Stepper MotorUploaded byHesam Zmrd
- MEC31-1Uploaded byJan Ebenezer Moriones
- Kinetics of Rigid BodiesUploaded byDexter F. Ramagoza
- Aerial Robotics Lecture 2C_4 Quadrotor Equations of MotionUploaded byIain McCulloch
- Quadrotor Equations of MotionUploaded byKaran Chawla
- Gravity Aid INSUploaded byhuyhanghai
- Robust Navigation of UAV’s by Fusion of Vision, InS and GPSUploaded byNavya Krishna Ramuni
- A Force Torqe Relationship and Its Experimental Verification for Flexible Link ManipulatorUploaded byNirmal Kushwaha
- TipiUploaded byakash
- syllabusUploaded byNaveen Reddy
- A Geometric Method for Kinematics of Delta Robot and its Path Tracking Control.pdfUploaded byJameszouqun
- ObserversUploaded byAshik Ahmed
- Fast Vision-Aided Inertial Navigation Using Low-Cost SensorsUploaded byMohsen Mahroos
- InTech-Data Association Techniques for Non Gaussian MeasurementsUploaded byhallodri
- kaman2.pdfUploaded byThiTang
- Version 2 Relative MotionUploaded byullasagw
- Ky 2418521856Uploaded byAnonymous 7VPPkWS8O
- 587913Uploaded byIqra Ganteng
- Lin et alUploaded byGoran Miljkovic
- CH_2for Guidance and NavigationUploaded byRani Jus
- Fusion and Kalman FiltersUploaded byvshssvs7
- AUploaded byBalaji Janarthanan
- siddhrajUploaded byAvinash Baldi
- BernalFokPidaparthi-FinancialMarketTimeSeriesPredictionwithRecurrentNeuralUploaded byNikhitha Pai
- 00A Exploring Statistical Arbitrage Opps YE-XIAOXIAUploaded byjahbreeze
- ch8Uploaded byDenis Constantin Ilie-Ablachim
- 104f11hw2jtfUploaded byJenny Choi
- Mechanical Dynamics Ansys1 (9)Uploaded byShahrukh roshan
- Class4 Rigid Body RotationUploaded bydccadar

- Meng 2013Uploaded byFiandjafar
- Usd 827969Uploaded byFiandjafar
- 1Uploaded byFiandjafar
- skripsiUploaded byFiandjafar
- Mohammed 2013Uploaded byFiandjafar
- Dry Block Heater.pdfUploaded byFiandjafar
- Nam Dar 2013Uploaded byFiandjafar
- f 101175112642938Uploaded byFiandjafar
- f 101175112642938Uploaded byFiandjafar
- Tuning Material and Component Properties to Redu 2015 Case Studies in MechanUploaded byFiandjafar
- Editorial Board 2016 Case Studies in Mechanical Systems and Signal ProcessinUploaded byFiandjafar
- 1-s2.0-S1877705814010492-mainUploaded byFiandjafar
- Numerical Investigation of Linear Particl 2016 Case Studies in Mechanical SyUploaded byFiandjafar
- A Comparative Study of Adaptive Filters in de 2016 Case Studies in MechanicaUploaded byFiandjafar
- Design Simulation and Comparison of Co 2016 Case Studies in Mechanical SystUploaded byFiandjafar
- Content List 2016 Case Studies in Mechanical Systems and Signal ProcessingUploaded byFiandjafar
- Canuto 2013Uploaded byFiandjafar
- avci2013Uploaded byFiandjafar
- Analysis of Tri-Star Frame in Stair Climbing Hand TruckUploaded byFiandjafar
- f 231115104129768Uploaded byFiandjafar
- f 167511124938102Uploaded byFiandjafar
- f 104671123119582Uploaded byFiandjafar
- Ruk Kuman i 2014Uploaded byFiandjafar
- Pal 2014Uploaded byFiandjafar
- Mariani 2014Uploaded byFiandjafar
- Ceccarelli 2014Uploaded byFiandjafar
- Orsino 2013Uploaded byFiandjafar

- Krishna Mur Ty 1970Uploaded byAtikDwiOktaviani
- FTIR - Sellick-BiotechBioeng2010Uploaded bynsk79in@gmail.com
- MIL-PRF-87257 Hydraulic FluidF 87257 Hydraulic FluidUploaded bydaymon
- Pass Transistor LogicUploaded byGuru D Rising Sun
- aggregate.pdfUploaded byalaajabbar
- Pneumatika KatalogusUploaded bypissini-1
- [From www.metacafe.com] 725719.4448366.1Uploaded byhannan8562
- Main code lab 7Uploaded byWilliam Huang
- Lowara Multi-stage Pumps CatalogueUploaded bypinkypacho
- it UserguideUploaded byDiego Bispo
- © ABB Power Technology 1_114Q07- 1Uploaded byMohammedSaadaniHassani
- Data LoggingUploaded bydiela9026
- Energy Management Module iUploaded bySalik
- Top 5 TrendsUploaded byapi-3826257
- ionic borohydride clusters surf proposal-kh-mr-kh-mrUploaded byapi-385400129
- Sea300Uploaded byPetrica
- Continuity Diaphragm for Skewed Continuous Span BridgesUploaded bymnsawant
- EE6365 Electrical Engineering Lab ManualUploaded byRichard Pravin
- Majeed_LPPI 2014 (1)Uploaded byMohamed Abdelazim Bakr
- AOP'sUploaded byShrikant Nimbalkar
- intUploaded bySpica Dim
- Uncertainty Analysis Principles and MethodsUploaded byOilGasRosettaStone
- EEE 3 Lecture 1 - Basic Electrical Quantities.pdfUploaded byGerard Boy Avestruz Regino
- List of Unsolved Problems in PhysicsUploaded bydraganscribd12
- 14a Redi-bath - Pds - EnglishUploaded byizmitlimon
- 16 Folding SamplesUploaded byDaniel Gureanu
- 1214 (11D)Uploaded bymohammed
- Convolutional EncodingUploaded byHaroon Jalil Baig
- MudflapUploaded bymaxbyz
- 10716010_enUploaded byConstantin Trajkovich Eisele