+ All Categories
Home > Documents > [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and...

[American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and...

Date post: 15-Dec-2016
Category:
Upload: srinivas
View: 212 times
Download: 0 times
Share this document with a friend
17
Gyroless Attitude Control of Multi-Body Satellites Using an Unscented Kalman Filter James Fisher * S.R. Vadali This paper presents the design of a state estimator for use in conjunction with a feedback control law for a multi-body satellite in elliptic, medium Earth orbits. The main body of the satellite tracks attitude commands or maintains nadir-pointing, while the second body of the satellite, a solar panel, tracks the sun. Star tracker and gimbal angle measurements are filtered to estimate the spacecraft attitude, angular velocity, gimbal angles, and gimbal rates, using the Unscented Kalman Filter. Rate integrating gyros are not utilized in this study. Lyapunov function-based feedback control laws using the estimated states are uti- lized for attitude control and sun-pointing. The performance of the filter for this problem is compared to that of the Extended Kalman Filter. Simulation studies demonstrate that the performance of the Unscented Filter is improved over that of the Extended Kalman Filter when the spacecraft and gimbal angles exhibit large departure motion. I. Introduction The problem of controlling a multi-body spacecraft that must maintain pointing requirements for each of its bodies is addressed. The spacecraft consists of a main body, a solar panel connected by a two-axis gimbal system and a three-axis reaction wheel control system. The main body of the satellite is required to maintain a specific orientation with respect to the LVLH frame of the body. The solar panel is required to maintain sun-pointing throughout the operation of the spacecraft. Control of the main body orientation is accomplished primarily through the use of reaction wheels. The solar panel pointing requirement is achieved primarily through use of the two axis gimbal system. Utilization of Lyapunov’s direct method allows the synthesis of a simple nonlinear control ensuring that tracking accuracy is maintained for each body. 1, 2 The implementation of this control requires knowledge of the states of the system. The spacecraft dealt with in this paper has as sensors star trackers and angle encoders for the gimbals. The implementation of the feedback control clearly requires a state estimation technique not only to smooth star tracker measurements, but also to determine the angular velocity of the main body. State estimation for gyroless spacecraft has received much attention recently. This research is motivated by several factors. Failure or degradation of gyros during a flight can result in the loss of a spacecraft or the cancellation of an important mission. Rate gyros may also be too expensive for some spacecraft designs. With improvements of star tracker accuracy and the rate of data acquisition, it has been possible to begin utilizing these as a means to obtain the angular velocity of the spacecraft. This is generally accomplished by use of some form of the Kalman Filter 3–6 Most of the research in this area has been conducted through estimation of angular velocities of single-body spacecraft. For these cases, it is not difficult to obtain the partial derivatives necessary for the linearization approach of the Extended Kalman Filter (EKF). The problem of a multi-body spacecraft is more difficult. While the EKF is able to estimate states if the system is linearized, it will be more sensitive to stronger nonlinearities in the system. Using the Unscented Kalman Filter (UKF) eliminates the need to take the partial derivatives necessary for the linearization approach of the Extended Kalman Filter 7–9 The Unscented filter uses a set of sample points, sometimes called sigma points, to map the probability distribution more accurately than the linearized mapping utilized by the EKF. The Unscented filter also converges more rapidly than the Extended Kalman Filter, making it a better choice for utilization in a feedback law. This filter will be utilized to obtain the state estimates required by the full-state feedback control used to stabilize the spacecraft. * E-mail: [email protected] E-mail: [email protected] 1 of 17 American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit 21 - 24 August 2006, Keystone, Colorado AIAA 2006-6163 Copyright © 2006 by James Fisher. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission.
Transcript
Page 1: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

Gyroless Attitude Control of Multi-Body Satellites Using an Unscented

Kalman Filter

James Fisher∗ S.R. Vadali†

This paper presents the design of a state estimator for use in conjunction with a feedbackcontrol law for a multi-body satellite in elliptic, medium Earth orbits. The main body ofthe satellite tracks attitude commands or maintains nadir-pointing, while the second bodyof the satellite, a solar panel, tracks the sun. Star tracker and gimbal angle measurementsare filtered to estimate the spacecraft attitude, angular velocity, gimbal angles, and gimbalrates, using the Unscented Kalman Filter. Rate integrating gyros are not utilized in thisstudy. Lyapunov function-based feedback control laws using the estimated states are uti-lized for attitude control and sun-pointing. The performance of the filter for this problemis compared to that of the Extended Kalman Filter. Simulation studies demonstrate thatthe performance of the Unscented Filter is improved over that of the Extended KalmanFilter when the spacecraft and gimbal angles exhibit large departure motion.

I. Introduction

The problem of controlling a multi-body spacecraft that must maintain pointing requirements for eachof its bodies is addressed. The spacecraft consists of a main body, a solar panel connected by a two-axisgimbal system and a three-axis reaction wheel control system. The main body of the satellite is required tomaintain a specific orientation with respect to the LVLH frame of the body. The solar panel is required tomaintain sun-pointing throughout the operation of the spacecraft. Control of the main body orientation isaccomplished primarily through the use of reaction wheels. The solar panel pointing requirement is achievedprimarily through use of the two axis gimbal system. Utilization of Lyapunov’s direct method allows thesynthesis of a simple nonlinear control ensuring that tracking accuracy is maintained for each body.1,2 Theimplementation of this control requires knowledge of the states of the system. The spacecraft dealt within this paper has as sensors star trackers and angle encoders for the gimbals. The implementation of thefeedback control clearly requires a state estimation technique not only to smooth star tracker measurements,but also to determine the angular velocity of the main body.

State estimation for gyroless spacecraft has received much attention recently. This research is motivatedby several factors. Failure or degradation of gyros during a flight can result in the loss of a spacecraft orthe cancellation of an important mission. Rate gyros may also be too expensive for some spacecraft designs.With improvements of star tracker accuracy and the rate of data acquisition, it has been possible to beginutilizing these as a means to obtain the angular velocity of the spacecraft. This is generally accomplishedby use of some form of the Kalman Filter3–6 Most of the research in this area has been conducted throughestimation of angular velocities of single-body spacecraft. For these cases, it is not difficult to obtain thepartial derivatives necessary for the linearization approach of the Extended Kalman Filter (EKF). Theproblem of a multi-body spacecraft is more difficult. While the EKF is able to estimate states if the systemis linearized, it will be more sensitive to stronger nonlinearities in the system.

Using the Unscented Kalman Filter (UKF) eliminates the need to take the partial derivatives necessaryfor the linearization approach of the Extended Kalman Filter7–9 The Unscented filter uses a set of samplepoints, sometimes called sigma points, to map the probability distribution more accurately than the linearizedmapping utilized by the EKF. The Unscented filter also converges more rapidly than the Extended KalmanFilter, making it a better choice for utilization in a feedback law. This filter will be utilized to obtain thestate estimates required by the full-state feedback control used to stabilize the spacecraft.

∗E-mail: [email protected]†E-mail: [email protected]

1 of 17

American Institute of Aeronautics and Astronautics

AIAA/AAS Astrodynamics Specialist Conference and Exhibit21 - 24 August 2006, Keystone, Colorado

AIAA 2006-6163

Copyright © 2006 by James Fisher. Published by the American Institute of Aeronautics and Astronautics, Inc., with permission.

Page 2: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

II. Equations of Motion

The spacecraft model is comprised of two rigid bodies. The first body contains instrumentation that mustbe pointed accurately throughout the orbit of the satellite. The second body is a panel that must face the sunat all times to provide power to the satellite. These pointing objectives must be satisfied simultaneously. Themass and inertia properties of these bodies are of equivalent orders of magnitude, meaning that the effects ofthe moving solar-panel cannot be treated as a disturbance. Furthermore, unlike the satellite studied in,3 thecenter of mass of the spacecraft is constantly in motion due to the movement of the solar panel. The result isthat the expressions for the rotational dynamics of the spacecraft include the translational dynamics terms.Figure 1 provides a simplified diagram of the spacecraft. The bodies are connected at point P through two

CM of body 1

A P

B

CM of body 2

xy

z

xy

z

x

yzCM of body 1

A P

B

CM of body 2

xy

z

xy

z

x

yz

Figure 1. Simplified Diagram of Spacecraft

single-axis gimbal rotations. Point A is an arbitrary point of reference fixed to the hub. The equations ofmotion are written about this arbitrary point because in practice the center of mass of the satellite (and alsobody 1) is not perfectly known and changes throughout its operation.

A. Kinematics

Before we derive the dynamics of the system, we present the kinematic models for the attitude of thespacecraft. This paper utilizes Euler Parameters to represent the attitude of the primary body (hub) ofthe satellite. If the angular velocity of body 1 is given by ω1, then the differential equation governing theattitude quaternion is given by10

q =12B(q)ω1 (1)

where

B(q) =

−q1 −q2 −q3

q0 −q3 q2

q3 q0 −q1

−q2 q1 q0

(2)

These kinematic equations uniquely determine the attitude of body 1 as long as we know its angular velocityand initial attitude. A set of two gimbal angles provides the orientation of the solar panel (body 2) withrespect to the hub (body 1). The frame P in figure 1 represents the coordinate axis that is between thefirst and second gimbal rotations. This coordinate frame is unique because when represented in this frame,the angular velocity of body 2 with respect to body 1 (ω21) is independent of the gimbal angles. Assumethat the first gimbal rotation is about the y-axis of the A-frame (also the same y-axis as the P frame) andthe second rotation is about the x-axis of the P -frame. This set of gimbal rotations yields the following

2 of 17

American Institute of Aeronautics and Astronautics

Page 3: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

expression for angular velocity (when expressed in the P -frame).

θ2

θ1

0

= ω21 (3)

To find the actual gimbal angles, it is necessary only to integrate this expression given the initial gimbalangle values. The two sets of differential equations presented in this subsection allow for the determinationof the attitude of body 1 and body 2 given their respective angular velocities. The angular velocity vectorsof the two bodies can be obtained by integrating the dynamic equations of motion.

B. Dynamics

The equations of motion used to model the spacecraft are derived around a general point (A in the figure)which is neither the center of mass of either body nor the center of mass of the entire body. To formulatethe equations that can be used to model the behavior of the satellite, we start by finding the translationalmomentum of the each body as well as the angular momentum of each body about its center of mass. Theangular momentum of body 1 includes the reaction wheels as well.

p1 = m1 (va − r1 × ω1) (4)H1c1 = Ic1ω1 + IwΩ (5)

p2 = m2 (va − rpa × ω1 − rbp × (ω1 + ω21)) (6)H2c2 = Ic2 (ω1 + ω21) (7)

In the above expression, va refers to the inertial velocity of point A, r1 designates the distance from pointA to the center of mass of body 1, ω1 designates the angular velocity of body 1 with respect to the inertialframe, and ω21 is the angular velocity of body 2 with respect to body 1. The angular momentum terms,H1c1 and H2c2 refer to the angular momentum of bodies 1 and 2 about their respective centers of mass. Thetranslational momentum terms p1 and p2 refer to the translational momentum of each body. The terms m1

and m2 represent the masses of each body. The vector from point A to point P is denoted by rpa. Becausethe satellite will utilize a reaction wheel control system, Ic1 designates the moment of inertia of body 1 aboutits center of mass with the wheels locked. The inertia tensor Ic1 can be rewritten as Ic1 = Ic1 + Iw, where Iw

is a matrix containing the axial moment of inertia of each wheel along its diagonal. The inertia tensor, Ic2 isthe inertia tensor for body 2 written about its center of mass. In the above expression as well as those thatfollow, the vector quantities can be expressed in any frame. When implementing the equations of motion ina simulation, it is important to ensure that each expression contains terms in the same frame. To write theequations of motion about point A, we begin by finding the angular momentum of the entire body aboutthis point.

Hta = H1c1 + r1 × p1 + H2c2 + r2 × p2 (8)pt = p1 + p2 (9)

where Hta is the angular momentum of the entire system (body 1 and body 2) and pt is the translationalmomentum of the system. To fully describe the satellite, we will need eight dynamic equations of motion aswell as (at least) eight kinematic equations. The above expression can be utilized to determine six equationsof motion. These can be found from the derivatives of the above expressions.11

Hta = −ω1 ×Hta − va × pt + Tgg + rt × Fg + Td −Tm1 (10)pt = −ω1 × pt + Fg + Fd (11)

where Hta = Hta− Iw (ω1 + Ω). In the above expressionHta refers to the derivative of Hta with respect to

the coordinate frame, A. The satellite is controlled through the motor torque, which is related to the wheelspeeds by the following equations of motion.

Iw

(ω1 + Ω

)= Tm1 (12)

3 of 17

American Institute of Aeronautics and Astronautics

Page 4: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

The derivatives in the above expression are taken with respect to the coordinate frame A. Finally, to completethe set of equations of motion, we find the angular momentum about point P .

H2p = H2c2 + r2p × p2 (13)H2p = −ω1 ×H2p − vp × p2 + Tgg2 + r2p × Fg2 + Tm2 + Td2 (14)

The velocity of point P is dependent strictly on the velocity at point A and the angular velocity of body1 through the relationship vp = va − rp1 × ω1. The control torque for the solar panel is given by Tm2.If this vector is expressed in the P -frame, it contains the two control torques as well as a single reactiontorque. To extract the necessary equations of motion, we can take the dot product of these equations withthe two vectors describing the gimbal angle rotations. These vectors are termed a1 and a2. These vectorsare orthogonal to the reaction torque, so the only unknowns in the equations of motion will be the states ofthe system. Taking the dot product of each of these vectors with the equations of motion yields.

[aT

2

aT1

]H2p =

[aT

2

aT1

](−ω1 ×H2p − vp × p2 + Tgg2+ (15)

r2p × Fg2 + Tm2 + Td2)

Determining the equations of motion in terms of derivatives of the states themselves (ω1, va, etc.) requiresexpansion of the derivatives of the various momenta. This task is not trivial and the results are lengthy. Asa result, the details are included in the Appendix.

C. Control Law

The satellite attitude control law is designed using a feedback linearization approach.2 The objective ofthe control law is to “replace” the nonlinear dynamics of the system with a linear dynamics that exhibit adesired performance. The stability of this approach can be proven in a Lyapunov framework as well. Tooutline the approach, we first divide the states to be controlled into several groups. The first is given by

x =

[ω1

Ωg

](16)

where Ωg =[

Ωg2 Ωg1

]T

=[

θ2 θ1

]T

. The equations of motion for these state variables can be putin the form

M(θ)x = f(t,x,θ,q, z)− u (17)

where θ =[

θ2 θ1

]T

is a vector of the gimbal angles and z is a vector made up of all other variables(these variables will not be control variables). The process of putting the satellite dynamics in this formis provided in more detail in the appendix. The second group is comprised of the variables describing theattitutde of the hub as well as the gimbal angles. The control law can be written as a feedback linearizationscheme. The control law is given by

u = f(t,x, θ,q, z)−M(θ)

(xd −K1 (x− xd)−K2

[δε

θ − θd

])(18)

In the above expression, (·)d denotes a desired value of a variable. In this manner, xd denotes the desiredangular velocity of body 1 as well as the desired gimbal rates (which can be obtained by taking derivatives ofthe pointing constraint). The control gain matrices K1 and K2 are diagonal matrices that can be designed togive desired closed loop system properties. The term δε refers to the last three terms in the error quaternionwhich describe the rotation between the actual attitude with respect to LVLH and the desired attitude withrespect to LVLH. This is given by12

[δq0

δε

]=

qd0 qd1 qd2 qd3

−qd1 qd0 qd3 −qd2

−qd2 −qd3 qd0 qd1

−qd3 qd2 −qd1 qd0

qlvlh (19)

4 of 17

American Institute of Aeronautics and Astronautics

Page 5: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

where qlvlh is the actual attitude of the spacecraft with respect to the LVLH attitude and qdi represents theith element of the desired attitude with respect to LVLH. If the control law in (18) is implemented (assumingthat system is known perfectly) then the following error dynamics are achieved.

ωe + K1ωωe + K2ωδε = 03×1 (20)θe + K1θθe + K2θθe = 02×1

Each of the gain matrices are diagonal matrices. The error in the angular velocity of the spacecraft is givenby the term ωe = ω1 − ωd and the error in the gimbal angles is given by the vector θe = θ − θd. In theabsence of disturbances, the control law results in a decoupled stable response. The gimbal angle responseis given by a second order dynamical system. The use of Euler parameters to represent the attitude of body1 adds a nonlinearity to the system response that is nonetheless stable. Lyapunov’s Direct Method will beemployed to verify the stability of the control law. The following Lyapunov function is constructed for thispurpose

V =12

(x− xd)T (x− xd) +

12θT

e K2θθe + 2k2ω (1− δq0) (21)

This function is positive definite. To analyze the stability of the closed loop system, we take the derivativeof this expression.

V = (x− xd)T

(M−1f −M−1u− xd +

[K2ω 03×3

03×3 K2θ

][δε

θe

])(22)

where K2ω = diag(k2ω, k2ω, k2ω). Substituting the control law from (18) into this expression yields

V = − (x− xd)T K1 (x− xd) (23)

This expression is negative semi-definite with respect to all of the variables in V . This implies that V isindeed bounded and that (x− xd) → 0 as t → ∞. This does not immediately imply that the control lawforces convergence of the gimbal angles and the LVLH attitude of the spacecraft to their desired values.There are many ways to prove this convergence, but the simplest is to use LaSalle’s Theorem.2 From (20),the only invariant set contained in the region where V = 0 is the origin (δε = 0 and θ−θd = 0). Therefore,the system must converge to the origin as t approaches infinity. This guarantees the stability of the control.This control law is utilized in this paper to maneuver the spacecraft. The control law requires full-statefeedback, but the angular velocity of the spacecraft is not measured. As a result, state estimation will berequired for successful implementation.

III. Unscented Kalman Filter

In this section, the theory behind the Unscented Kalman Filter (UKF) and its application to the dynamicsystem above will be presented.

A. Presentation of UKF

In this section, the Unscented Filter presented in7 is reviewed. The filter is presented in a general formhere and a more detailed explanation is given later. This filter is designed for a discrete-time model of thefollowing form.

xk+1 = f (xk,uk, k) + vk (24)

where xk is that state vector at instant k, uk is the control input at k, and vk is the additive process noiseat k. This discrete-time propagation of the states is the backbone of the UKF. It is important to note thatany continuous-time system can be put in the form of (24) (i.e. discretized) by use of a numerical integrationscheme. The measurement model that will be utilized to update the UKF is given by

yk = h (xk, k) + wk (25)

In the above expression, yk is the actual measurement at time instant k, h is a (possibly) nonlinear functionthat relates the measurements to the states, and wk is the additive measurement noise. The measurement

5 of 17

American Institute of Aeronautics and Astronautics

Page 6: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

noise, wk and the process noise, vk, are assumed to be zero mean Gaussian processes with covariance matricesQk and Rk respectively. The Kalman Update Equations in the UKF approach are given by the followingexpressions

x+k = x−k + Kkek (26)

P+k = P−k −KkPee

k KTk

The x−k and P−k terms are the pre-update state estimate and covariance, respectively. The post-update statecovariance and estimate at time instant k are denoted P+

k and x+k respectively. The filter innovation (which

is the error in the actual and predicted measurement) at time k is

ek ≡ yk − h(x−k , k

)= yk − y−k (27)

The innovation will drive the update of the state estimates. The covariance of this expression is used in theKalman Update equations and is denoted Pee

k . Finally, the gain matrix is determined by

Kk = Pxyk (Pee

k )−1 (28)

In the above expression, Pxyk is the cross-correlation matrix between the pre-update state estimate x−k and

the pre-update measurement estimate y−k . The UKF requires determination of the covariance matricesdirectly from propagation of what are termed “sigma points”. These points are propagated through thenonlinear map from equation (24) to determine the propagation of the covariance. The sigma points can bedetermined from 2n columns of the matrix

Mk =[

+√

(n + κ)[P+

k + Qk

] −√

(n + κ)[P+

k + Qk

] ](29)

The square root in the above expression is the matrix square root operator. The Qk matrix is referred toas the dynamic noise covariance matrix and is directly related to the process noise covariance.7 The scalar,κ, is a tunable parameter. This term creates κ copies of the mean of the distribution. The fourth ordermoments of the sigma point distribution are scaled by this gain. A choice of κ + n = 3 can be utilized toensure that the fourth order moments agree with a Gaussian distribution.7,13 In practice, however, this doesnot always yield the best results. For this paper κ = 2 is chosen for the simulation test cases. If the columnsof this matrix are stacked in a vector, then a distribution of points can be determined from

σk =[

0n×1 M(1)k · · · M(i)

k · · · M(2n)k

](30)

The superscript, (·)(i), in the above expression represents the ith column of a matrix. The above expressiondemonstrates that for a system with n state variables, 2n2 + 1 sigma points must be propagated. This is amajor weakness of the UKF. For systems with only a few states, the computation burden of computing thesepoints is low. However, when the number of states is increased, this can become significant. The numberof computations is not much larger than that of the Extended Kalman Filter because of the necessity ofpropagating the state covariance matrix, which is of the size n2 (although if symmetry of the covariancematrix is utilized, only n(n+1)

2 states of the matrix must be computed). These sigma points are added tothe updated propagated mean of the distribution (x+

k ) to generate the set of points that will be used todetermine the properties of the distribution at the current time step. These points are defined as

χ(i)k = σ

(i)k + x+

k (31)

where σ(i)k denotes the ith column of the matrix σk. The first column of χk is the mean of the distribution,

while the remaining points are a superposition of the covariance of the distribution onto its mean. Thesepoints are then propagated through the nonlinear system mapping to give a propagation not only of themean but of the covariance matrix as well. The points at the next time-step are given by

χ(i)k+1 = f

(i)k ,uk, k

)(32)

The estimated output for each sigma point is found from the following expression.

Y(i)k+1 = h

(i)k+1, k

)(33)

6 of 17

American Institute of Aeronautics and Astronautics

Page 7: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

After propagation, the properties of the distribution are determined. The predicted mean is determinedfrom

x−k+1 =1

n + κ

(κχ

(1)k+1 +

12

2n+1∑

i=2

χ(i)k+1

)(34)

Next, we require the mean of the predicted output, or the mean observation. This is given by the followingexpression

y−k+1 =1

n + κ

(κY(1)

k+1 +12

2n+1∑

i=2

Y(i)k+1

)(35)

These means can be used to determine the propagated distributions. The state covariance of is determinedfrom

P−k+1 =1

n + κ

(1)k+1 − x−k+1

] [χ

(1)k+1 − x−k+1

]T

+

12

2n+1∑

i=1

(i)k+1 − x−k+1

] [χ

(i)k+1 − x−k+1

]T)

+ Qk (36)

The innovation covariance can in turn be found from

Peek+1 =

1n + κ

[Y(1)

k+1 − y−k+1

] [Y(1)

k+1 − y−k+1

]T

+

12

2n+1∑

i=1

[Y(i)

k+1 − y−k+1

] [Y(i)

k+1 − y−k+1

]T)

+ Rk+1 (37)

Finally, we require the cross correlation between the state and output. This is given by

Pxyk+1 =

1n + κ

(1)k+1 − x−k+1

] [Y(1)

k+1 − y−k+1

]T

+

12

2n+1∑

i=1

(i)k+1 − x−k+1

] [Y(i)

k+1 − y−k+1

]T)

(38)

These expressions can be used to compute the filter gain in equation (28). After the gain has been computed,the state and its covariance are updated using equation (26). From here, new sigma points are determined,the state is propagated using equation (32), and the process is repeated. This recursive process is used toobtain the state estimates of the system given its inputs and noise properties. One important consideration isthe incorporation of process noise into the state estimator. One method is to assume that the noise is purelyadditive, as is represented in equation (24).7,9, 14 In this implementation, the dynamic noise covariancematrix is simply the process noise covariance. When this additive approach is used, the sigma points can beaugmented with additional points that incorporate the process noise. These are then utilized to calculate theoutput mean and and covariance as well as the cross-correlation.14 This adds an additional computationalburden but is simple in practice. A second implementation developed by Crassidis and Markley for attitudeestimation assumes that the process noise is passed through the integration process. The dynamic noisecovariance utilized in the above expressions then becomes a function of the state transition matrix8 and canbe found using a trapezoidal approach. The implementation for these two cases is nearly identical, but thedifference is worth mentioning. This paper utilizes the noise covariance from.8 A difficulty arises in thisimplementation because the calculation of the covariance matrix requires use of the state transition matrix(which is difficult to find for the nonlinear system). As a result, a worst-case approximation is used that islarger than the actual covariance, but is not time dependent.

B. UKF Implementation

This section will describe the implementation of the UKF algorithm mentioned in the previous section tothe system described in section II. This section will detail the measurement model, the method utilized indealing with quaternion normalization, and show that the system dynamics can be put in the form of (24).

7 of 17

American Institute of Aeronautics and Astronautics

Page 8: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

Measurement Model The satellite analyzed in this paper does not have gyroscopes to measure theangular velocity of the spacecraft. The measurements available are the spacecraft attitude (from a startracker), the gimbal angles, and the gimbal rates. The spacecraft attitude measurements will be assumed tobe in the form known as the QUEST measurement model.15 The measurement is assumed to be of the form

bi = A(q)ri + νqi (39)

where A(q) is a 3 × 3 coordinate transformation matrix. The vector, r, is a fixed reference vector and themeasurement noise associated with the ith noise vector, νqi, can be approximated as a zero-mean GaussianProcess with a noise covariance given by Rqi = σ2

i 13×3. There may be multiple vector measurements utilized.For cases where the gimbal angles and rates are estimated, the gimbal angles and rates are also included asmeasurements. The gimbal rates and angles are assumed to be of the following form:

yg =

[Ωg

θ

]+ νg (40)

where the νg is zero-mean and has a covariance of Rg = diag(σ2Ω, σ2

Ω, σ2θ , σ2

θ). When only the attitude andangular velocity of the hub are to be estimated, the measurement vector, yk is given by

yk =

b1

...bm

(41)

where m is the number of measurement vectors provided by the attitude sensors. The measurement noisein this case has a covariance of

Rk = Rk =

Rq1 03×3 . . . 03×3

.... . .

...03×3 . . . 03×3 Rqm

(42)

When the filter is required to measure the attitude and angular velocity of the hub as well as the gimbalangles and rates, the following input vector is used

yk =

b1

...bm

yg

(43)

This measurement noise in this case has a covariance of

Rk =

[Rk 03m×4

04×3m Rg

](44)

Quaternion Normalization It is well known that when using a quaternion attitude representation,any updates produced from the estimator can violate the quaternion unit-norm constraint. While it is stillpossible to utilize an additive approach for updating the quaternion,16 it is desirable to update the quaternionin such a way that it is automatically unit-norm. This can be accomplished by utilizing the quaternionrepresentation for state propagation, but transforming this to an unconstrained attitude representation forthe update as in.8 The methodology utilized in this paper involves the update of an error quaternion. Ateach time-step, before an update is performed, the following error quaternion is defined.

δq−k (i) = q−k (i)⊗ (q−k (1)

)−1i = 1 . . . 2n + 1 (45)

where q−k (1) is the pre-update quaternion estimate. If we represent the quaternion by q−k (i) =[

q0(i) ρ(i)]T

,

the inverse operator is defined as(q−k (1)

)−1=

[q0(1) −ρ(1)

]T

. The pre-update error quaternion corre-

sponding to i = 0, will always be δq−k (1) =[

1 0 0 0]T

. The rest of the values are errors in rotations

8 of 17

American Institute of Aeronautics and Astronautics

Page 9: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

with respect to the mean of the distribution. These error quaternions will be utilized in the update law. Theerror quaternion is represented as

δq−k (i) =

[(δq−0 )k(i)δρ−k (i)

]=

[ √1− (

δρ−k (i))T

δρ−k (i)

δρ−k (i)

](46)

The error quaternion can now be represented in terms of the three components of δρ−k (i). From here, wecan redefine the χ

(i)k term that is used to determine the statistical properties of the propagated distribution.

This variable is redefined as

x+k = χ

(1)k =

δρ+k (1)

(ω1)+k (1)(Ωg)+k (1)

θ+

k (1)

(47)

Therefore, the quaternion terms utilized to propagate the equations of motion must be converted to errorquaternions after propagation. From here they can be updated and the sigma points in (31) can be added.After the state estimate has been updated using the most recent measurements and the sigma points havebeen added, the actual attitude quaternion must be determined from the updated error quaternions. Thisis accomplished by utilizing the definition of the error quaternion.

q+k (i) = δq+

k (i)⊗ q−k (1) (48)

From this point, we are back to propagation. In this manner, the quaternion update is performed withoutviolation of the norm constraint. Unfortunately, this is only true when ‖δρ+

k (i)‖ ≤ 1. If this condition isviolated, the error quaternion (δq+

k (i)) will not be unit norm. This can be satisfied by ensuring that initialcovariance estimates are set correctly. It is important that the initial quaternion estimates also be smallenough to prevent this from occurring.

State Propagation Section II provides the information necessary to develop the nonlinear model thatwill be utilized to propagate the states estimated by the Unscented Kalman Filter (UKF). This model mustbe put into a form that is compatible with the UKF, namely in an expression of the form of equation (24).Once the derivatives of (10), (11), and (15) are expanded so that they are explicitly dependent on the statevariables and their time derivatives, we can couple these with the kinematic relationships in (1) and (3) todetermine an expression of the form

M (θ1, θ2) ϕ = f(q, θ1, θ2, ω1, θ1, θ2,Ω,Tm1,Tm2

)(49)

where ϕ =[

qT θ1 θ2 ωT1 θ1 θ2 Ω

T]T

. The mass matrix in this expression is invertible, allowing

us to define a new function f = M−1f . Furthermore, if the wheel speed vector is treated as a separate input,not as a system state, the differential equations governing its behavior can be dropped from the previousexpression. The wheel speeds themselves are of much larger magnitude than any noise associated with theirmeasurements. Therefore, wheel speed measurements will be assumed to be known accurately. As a result,the states to be estimated will be

x =[

qT θ1 θ2 ωT1 θ1 θ2

]T

(50)

where ω1 =[

ω1x ω1y ω1z

]T

. The state-estimator will estimate the three components of this vector inthe A frame. As a result, the following dynamics of the system can be put into the following form.

x = f (x,u) (51)

where the x vector has been defined in equation (50). The control vector, u will also contain the wheel speedvalues. Thus, the control vector has the form uT =

[Tm1 Tm2 Ω

]. The function f can be written as

f = Cf where C is a transformation that retains only the rows of f corresponding to the desired states. Asmentioned previously, this expression can be put into the form of equation (24) by numerically integratingthe above expression (it will also be required to integrate the Ω expression to obtain Ω(t)).

9 of 17

American Institute of Aeronautics and Astronautics

Page 10: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

Filter Algorithm An overview of the steps required for implementation of the filter will be presentedhere.

1. Use the initial state covariance matrix to build an initial set of sigma points. For all states except forthe attitude quaternion, add these points to the initial estimates of the states. For each set of sigmapoints, find the associated error quaternion and find the associated attitude quaternion using (48).

2. Propagate each set of state vectors (2n + 1 sets) to the next time step using (51).

3. Find the error quaternion associated with each sigma point set using (45). The rest of each χk(i) canbe obtained directly from the propagated states.

4. Find the properties of the propagated distribution (P−k+1 etc.) and update the states and covariance.

5. Build a new set of sigma points for the states. Find the new attitude quaternion associated with eachset using (48). Return to step 2.

IV. Results

The results presented in this paper will be focused into two areas. The first set will compare the responseof the UKF to that of the EKF for the given multi-body dynamics where the states to be estimated areonly attitude and angular velocity. The second will highlight the performance of the UKF itself when it isrequired to estimate attitude, angular velocity, gimbal rates, and gimbal angles.

A. Comparison of EKF and UKF

In this section, we will examine the estimation errors of the EKF and UKF for estimating attitude and angularvelocity of a multi-body spacecraft when only attitude measurements are available. The gimbal angles andrates will not be measured, but considered as inputs into the equations of motion. The satellite is in a mediumEarth orbit with eccentricity of 0.2. During operation the secondary body of the satellite (in this case asolar panel) is required to maintain an orientation such that its unit normal is pointed toward the sun. Theprimary body is required to maintain a specific LVLH orientation. The simulation involves an attitude hold

where the commanded attitude of body 1 with respect to LVLH is given by q =[

0.5 −0.5 −0.5 0.5]T

.The output of the filter is utilized for state feedback to the nonlinear control law. The simulation run beginswith initial errors in the attitude and angular velocity states. The attitude measurements will be takenfrom a single star tracker utilizing the measurement model previously discussed with a standard deviationof σq = 0.0015rad. To gain some understanding as to when utilizing a filter such as the UKF becomesimportant, we will examine the filter response under the influence of various sample rates. Figure 2 displaysthe responses of each filter to a sample rate of 10 seconds. The y-axis of the figure on the left displays thenorm of the error in the real and estimated quaternion. The error is determined in the same manner as theinnovation, by subtracting the two variables. The right portion of the figure is the norm of the error in theactual and estimated angular velocity vector. The figure demonstrates that the convergence of the EKF ismuch slower for this slower sample rate. This sample rate is slower than typical of newer star-trackers, butit is useful to understand some of the capabilities of the UKF. Figure 3 demonstrates the response of the twofilters to a one second sampling interval. These figures reveal some important qualities in the response ofeach filter. While it has been demonstrated that the UKF does not provide performance benefits for systemswith near-linear behavior,17 it should be noted that for systems which are more characteristically nonlinearin behavior, the benefits can be more pronounced. It is also important to realize that this behavior dependson the sampling rate of the system (the effects of course depend upon degree of nonlinearity of the system).The EKF depends on a linearization of the system at each sampling interval. This linearization holds forsmall changes in the system states. While this is not directly dependent upon sampling rate, it is clearthat a smaller time interval between samples results in a smaller range of state values between each step.As a result, we expect (and the figures demonstrate) that as sampling rate is increased, the performanceof the EKF relative to the UKF will improve. This is also dependent on integration accuracy. The EKFdepends on a time integration of the states and covariance between each sampling instance. For the UKFimplementation a low-accuracy integration scheme was used. If the same low-accuracy scheme is utilizedfor the EKF, it is not able to converge. If integration accuracy is increased, the performance of the EKF is

10 of 17

American Institute of Aeronautics and Astronautics

Page 11: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

0 0.1 0.2 0.3

10−4

10−3

10−2

10−1

100

orbits

Err

or in

qua

tern

ion

UKFEKF

0 0.1 0.2 0.310

−8

10−7

10−6

10−5

10−4

10−3

10−2

orbitsE

rror

in ω

1 (ra

d/s)

UKFEKF

Figure 2. Error estimates in quaternion and ω1 for EKF and UKF for 10s sample rate

0 0.1 0.2 0.3

10−4

10−3

10−2

10−1

100

orbits

Err

or in

qua

tern

ion

UKFEKF

0 0.1 0.2 0.310

−8

10−7

10−6

10−5

10−4

10−3

10−2

orbits

Err

or in

ω1 (

rad/

s)

UKFEKF

Figure 3. Error estimates in quaternion and ω1 for EKF and UKF for 1s sample rate

11 of 17

American Institute of Aeronautics and Astronautics

Page 12: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

improved. This improvement in performance is primarily observed in the speed of filter response and to alesser extent, the filter accuracy. Figure 2 demonstrates that with a slower sampling rate, the EKF convergesat a slower rate. The convergence of the UKF is slower as well, but it is more effective. The increase insampling rate shows an increase in response speed, but this is more pronounced in the EKF. Finally, thereis a small improvement in accuracy with the UKF in comparison to the EKF, though these improvementsare slim and may not warrant the computational burden of the UKF.

As a final point of comparison, consider figure 4. This figure demonstrates the response of each fil-

0 0.1 0.2 0.3

10−4

10−3

10−2

10−1

100

orbits

Err

or in

qua

tern

ion

UKFEKF

0 0.1 0.2 0.310

−8

10−7

10−6

10−5

10−4

10−3

10−2

orbits

Err

or in

ω1 (

rad/

s)

UKFEKF

Figure 4. Error estimates in quaternion and ω1 for EKF and UKF large gimbal maneuver

ter during a reorientation maneuver of body 1 from an LVLH orientation of q =[

1 0 0 0]T

to

q =[

0.5 0.5 0.5 0.5]T

. Throughout the reorientation, the second body must maintain sun-pointing.During this maneuver, the gimbal angles undergo rapid transitions between two nearly constant values.This introduces a large degree of nonlinearity into the system during these periods of rapid transition. Thesystem moment of inertia undergoes a large change in its off-diagonal values. The principal eigenvalues andeigenvectors also experience large changes. As a result, the EKF is not able to retain accuracy over thecourse of the simulation. While this behavior is not observed for every type of maneuver, it is an importantcase because it displays the strength of the UKF even in the face of large changes in system behavior (aslong as these are modeled). The orbit of the spacecraft is elliptic with angular velocities ranging between4 × 10−4rad/s and 7 × 10−4rad/s. The errors experienced by the EKF during the maneuver can be up tonearly 10% of the actual angular velocity.

B. Full System Response

In the previous subsection, the responses of the EKF and UKF were considered for a multi-body problemwhere only the angular velocity and attitude were to be estimated from noisy measurements. In this section,we will demonstrate the response of the UKF when it is also required to estimate the gimbal angles and ratesof the system. The major equations of motion that will be utilized in this problem are found in equations

(10) and (15). The actual equations of motion involve the expansions of the derivative termsHta and

H2p.

These expressions can be found in the appendix. The estimation of the gimbal rates and angles presents anadded difficulty because many of the inertia terms and distance vectors in equations (10) and (15) depend onthese. When the gimbal angles are not being estimated, they can be treated as an input and the linearizationutilized by the EKF is straightforward. Including the gimbal angles in the state vector makes the linearizationrequired by the EKF a very painful process. This could be alleviated with the use of a numerical linearizationscheme, but the implementation of this requires n (or more) recalculations of derivative vector, f . In termsof number of computations, this is nearly equivalent to the propagation of half of the sigma points required

12 of 17

American Institute of Aeronautics and Astronautics

Page 13: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

by the UKF (on the order of n2) when using a first-order Euler integration. In addition, there is still thepropagation of the covariance matrix. The ability of the UKF implementation to perform without requiringlinearization makes it an attractive choice for situations such as these. As a result, this section will detailonly the UKF implementation. The state estimator is required to determine the spacecraft attitude, theangular velocity of body 1, the gimbal angle rates, and gimbal angles from measurements of the spacecraftattitude as well as gimbal angle and rate measurements. These are all assumed to be noisy measurementsand are assumed to be on the same update frequency. These state estimates will be used to implementa feedback control scheme that is capable of achieving pointing objectives for both bodies. The followingset of figures will display the results of this simulation. Figure 5 shows the error in the real and estimatedquaternion as well as the error in the real and estimated angular velocity of body 1. The 3 − σ boundsin these figures are shown for the smallest of the three variables to reduce clutter. The values were nearlyidentical in all the cases tested. The filter maintains estimation error of the same order of magnitude as

0 0.2 0.4 0.6 0.8−0.01

−0.005

0

0.005

0.01

orbits

Est

imat

ed Q

uat E

rror

0 0.2 0.4 0.6 0.8−5

0

5x 10

−6

orbits

Est

imat

ed ω

Err

or (

rad/

s)

Figure 5. Error in estimated quaternion and ω1

that observed in figure 3. The filter convergence occurs within 0.1 orbits. The convergence is not as fast asthose observed when the gimbal angles were assumed to be known. This is a result of the addition of morecomplexity to the filter. Figure 6 shows the error response of the gimbal angles and rates. The accuracy ofthese values is important because many of the parameters in the feedback control law (such as the inertiatensor) depend upon the gimbal angles. If the estimates of these values are inaccurate, the control will not beable to converge accurately due to errors in parameter values. Figure 7 demonstrates the convergence of thecontrol law. The system is given an initial tracking error and is required to maneuver to the desired attitudeover the course of one orbit. The left side of the figure demonstrates the ability of the control law to performthe task even when using feedback from a state estimator instead of actual states. The right side of figure 7shows the tracking error of the gimbal angles with respect to their desired values. The gimbal angle trackingerror is within ±0.5 degrees. Figure 8 shows the gimbal angle values throughout the maneuver. The gimbalangles are required to vary over a large range throughout an orbit. Figures 7 and 8 show that the trackingerror in the gimbal angle response occurs at points where the gimbals are required to undergo a large changein value very quickly. This is particularly true of θ1. The inertia tensor as well as the total center of massvector undergo large changes with respect to θ1 when the θ2 gimbal has a larger value. Comparing figures 7and 8 shows that the errors also occur when the θ2 gimbal attains its maximum and minimum values. Thisalso occurs when the θ1 gimbal rate is at a maximum. These gimbal angle and rate conditions result inthe behavior of the system becoming “more nonlinear”. Figure 6 demonstrates that these gimbal angle andgimbal rate requirements have effects on the performance of the UKF as well. These figures demonstratethe success of the UKF in performing accurate state estimation for a complex nonlinear dynamic system.Furthermore it demonstrates the ability of the UKF to be successfully utilized in a feedback control scheme.

13 of 17

American Institute of Aeronautics and Astronautics

Page 14: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

0 0.2 0.4 0.6 0.8−1

−0.5

0

0.5

1x 10

−5

orbits

Est

imat

ed G

imba

l Ang

le E

rror

(ra

d)

0 0.2 0.4 0.6 0.8−5

0

5x 10

−6

orbitsE

stim

ated

Gim

bal R

ate

Err

or (

rad/

s)

Figure 6. Error in estimated gimbal angles and gimbal angle rates

0 0.2 0.4 0.6 0.8 1−0.2

0

0.2

0.4

0.6

0.8

1

1.2

orbits

LVLH

Qua

tern

ion

0 0.2 0.4 0.6 0.8 1−4

−2

0

2

4

6

8

10

orbits

Gim

bal t

rack

ing

erro

r (d

eg)

θ1

θ2

Figure 7. Body to LVLH quaternion and gimbal angle tracking error

14 of 17

American Institute of Aeronautics and Astronautics

Page 15: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

0 0.2 0.4 0.6 0.8 1−100

−50

0

50

100

150

200

250

orbits

gim

bal a

ngle

s (d

eg)

θ1

θ2

0 0.2 0.4 0.6 0.8 1−0.15

−0.1

−0.05

0

0.05

0.1

orbits

gim

bal r

ates

(de

g/s)

Ωg1

Ωg2

Figure 8. Body to LVLH quaternion

V. Conclusions

This paper has presented the design of a state-estimation and feedback control scheme for a multi-bodysatellite in a medium Earth orbit. The satellite is comprised of two bodies. One body of the satellitemust maintain a fixed, pointing attitude with respect to the LVLH frame while the other must maintainsun-pointing. The feedback control scheme requires information about each system state, but the satellitecontains no gyroscopes for angular velocity measurement. An Unscented Kalman Filter is utilized to deter-mine the angular velocity of the primary body for use with the feedback control law as well as to reducethe noise levels in the signals. The performance of the Unscented Kalman Filter is compared to that of theExtended Kalman Filter when only the attitude and rate data of the primary body need to be estimated.It was demonstrated that while the performance was very similar in most instances, the Unscented Filterprovided marginal improvements as sample rate was decreased as well as when periods of large nonlinearitywere encountered. Furthermore, the performance of the Unscented Filter was analyzed for the case when theattitude of the hub and angular velocities of both the bodies are estimated. The complexity of this secondproblem renders it ideal for the implementation of the UKF since it does not require linearization of thesystem.

References

1Slotine, J.-J. E. and Li, W., Applied Nonlinear Control , Prentice Hall, Englewood Cliffs, New Jersey, 1991.2Khalil, H. K., Nonlinear Systems, Prentice Hall, Upper Saddle River, New Jersey, 3rd ed., 1996.3Agrawal, B. N. and Palermo, W. J., “Angular rate estimation for gyroless satellite attitude control,” Proceedings from

the AIAA guidance, navigation, and control conference and exhibit, Monterey, California, August 2002.4Markley, F. L., Crassidis, J. L., and Cheng, Y., “Nonlinear Attitude Filtering Methods,” Proceedings from the AIAA

Guidance, Navigation, and Control Conference and Exhibit, San Francisco, CA, August 2005.5Tortora, P. and Oshman, Y., “Spacecraft Rate Estimation from Magnetometer Data Only,” Proceedings from the

AIAA/AAS Astrodynamics Specialist Conference, Denver, CO, August 2000, pp. 304–310.6Psiaki, M. L., “Global Magnetometer-Based Spacecraft Attitude and Rate estimation,” Proceedings from the AIAA

Guidance, Navigation, and Control Conference and Exhibit, Austin, TX, August 2003.7Julier, S. J., Uhlrnann, J. K., and Durrant-Whyte, H. F., “A New Approach for Filtering Nonlinear Systems,” Proceedings

of the American Control Conference, Seattle, WA, June 1995, pp. 1628–1632.8Crassidis, J. L. and Markley, F. L., “Unscented Filtering for Spacecraft Attitude Estimation,” Journal of Guidance,

Control, and Dynamics, Vol. 26, No. 4, 2003, pp. 536–542.9Wan, E. A. and van der Merwe, R., “The Unscented Kalman Filter for Nonlinear Estimation,” Proceedings of the IEEE

Adaptive Systems for Signal Processing, Communications, and Control Symposium, October 2000, pp. 153–158.10Schaub, H. and Junkins, J. L., Analytical Mechanics of Space Systems, AIAA, Reston, VA, 2003.11Hughes, P. C., Spacecraft Attitude Dynamics, John Wiley and Sons, New York, NY, 1986.

15 of 17

American Institute of Aeronautics and Astronautics

Page 16: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

12Junkins, J. L. and Turner, J. D., Optimal Spacecraft Rotational Maneuvers, Elsevier Science Publishing Co., New York,NY, 1986.

13Tenne, D. and Singh, T., “The Higher Order Unscented Filter,” Proceedings of the 2003 American Control Conference,Denver, CO, June 2003, pp. 2441–2446.

14Wan, E. and van der Merwe, R., “The Unscented Kalman Filter,” Kalman Filtering and Neural Networks, chap. 7, JohnWiley and Sons, New York, NY, 2001.

15Shuster, M. D. and Oh, S. D., “Three-Axis Attitude Determination from Vector Observations,” Journal of Guidance andControl , Vol. 4, No. 1, 1981, pp. 70–77.

16Bar-Itzhack, I. Y., Deutschmann, J., and Markley, F. L., “Quaternion Normalization in Additive EKF for SpacecraftAttitude Determination,” Technical paper, AIAA Guiadance Navigation and Control Conference, New Orleans, LA, August1991.

17LaViola Jr, J. J., “A Comparison of Unscented and Extended Kalman Filtering for Estimating Quaternion Motion,”Proceedings of the American Control Conference, Denver, CO, June 2003, pp. 2435–2440.

Appendix: Derivatives of Angular Momenta

In this section, the derivatives of the angular momenta utilized in the equations of motion will be pre-sented. First, the derivative of the total angular momentum of the satellite about point A is taken. This isthe expression from equation (10). The derivative is taken with respect to Frame A (shown in Figure 1).

Hta = Itaω1 + (I2p −m2rparbp) ω21 + mtrtva + I2p (−ω21 × ω1 − ωbp × ω21) (52)

+ω21 × I2p (ω1 + ω21) + m2 (ω21 × rbp)× (va − rpa × ω1)−m2rpa ×(ω21 × rbp)× (ω1 + ω21)−m2rpa × rbp (ωpa × ω21)

In the above expression, ω1 represents the derivative of ω1 with respect to frame A, ω21 represents thederivative of ω21 with respect to frame P , and va represents the derivative of va with respect to frame A.Recall that the angular velocity term ω21 when written in frame P is a vector comprised of only gimbal anglerates (see Eq. (3)). As a result, the derivative of this vector contains only the gimbal angle accelerations, θ2

and θ1. The angular velocity vector, ωbp represents the angular velocity of frame B with respect to frameP . This is a function of the rotation rate of the second gimbal. The vector, rt is the vector from pointA to the current center of mass of the satellite (this includes both bodies) and the mt is the total massof the satellite, mt = m1 + m2. The inertia matrices, Ita and I2p represent the moment of inertia of theentire spacecraft taken at point A and the inertia tensor of body 2 at point P , respectively. The operatorx represents the skew-symmetric matrix made from the vector, x. This is a matrix representation of a crossproduct. Equation (52) is a frame independent expression. It can be written in any frame as long as each

term in the expression is also expressed in this frame. The derivative of the translational momentum (pt)

with respect to frame A is given bypt = −mtrtω1 −m2rbpω21 + mtva −m2 (ω21 × rbp)× (ω1 + ω21) (53)

−m2rbp × (ωpa × ω21)

Finally, the derivative of H2p with respect to frame A is given below.H2p = (I2p −m2rbprpa) ω1 + I2pω21 + m2rbpva + I2p (−ω21 × ω1 − ωbp× (54)

ω21) + ω21 × I2p (ω1 + ω21) + m2 (ω21 × rbp)× (va − rba × ω1)

These expressions give a means for determining the derivatives from equations (10), (11), and (15) in terms ofsystem states. To put these equations in the form utilized for the feedback control law as well as for the stateestimator, the derivative of the velocity (va) must be solved in terms of the states and the derivatives of ω21

and ω1. This can be accomplished through the use of equations (53) and (11). Utilizing these expressionsgives

va =1

mt

(mtrtω1 + m2rbpω21 + m2 (ω21 × rbp)× (ω1 + ω21) (55)

+ m2rbp × (ωpa × ω21)− ω1 × pt + Fg + Fd

)

The above expression can be substituted into equations (52) and (54) to remove the va term. The va termswill still remain in the expressions as an additional input. In the actual implementation of the UKF, this

16 of 17

American Institute of Aeronautics and Astronautics

Page 17: [American Institute of Aeronautics and Astronautics AIAA/AAS Astrodynamics Specialist Conference and Exhibit - Keystone, Colorado ()] AIAA/AAS Astrodynamics Specialist Conference and

substitution is not required as the UKF utilizes simulation of the full dynamics of the system. For the controllaw, it is only necessary to calculate va using desired values of ω1 and ω21 and substitute this value intothe dynamic expressions to obtain the desired control torque. The derivation of the control law requiresthe determination of a “mass matrix” that couples the derivatives of the angular velocity of body 1 and thegimbal rates. This matrix can be determined by substitution of the expression for va into (52) and (54).Only the derivative terms are collected on the left side and the right side becomes a function of the othervariables. This yields an expression of the following form.

(Ita + mtrtrt) ω1 + (I2p −m2rparbp + m2rtrbp) ω21 = fht (t,q,ω1,ω21, θ1, θ2,va,Ω,R,u) (56)

(I2p −m2rbprpa + m2rbprt) ω1 +(I2p +

m22

mtrbprbp

)ω21 = fh2 (t,q,ω1, ω21, θ1, θ2,va,Ω,R,u)

There are a few properties of the above expressions that are worth noting. The ω1 term is equivalent tothe Inertia tensor for the entire system taken about the center of mass of the entire system, which we willdenote Icmt. Furthermore, this “mass matrix” is indeed a symmetric matrix (this can be shown by utilizingthe properties of skew symmetric matrices). Because there are only five variables, but six equations, wedot the second expression with the unit vectors of the gimbal rotations (as was discussed in Section II).Furthermore, we write ω21 in the following form.

ω21 = Cxp

[θ2

θ1

](57)

In the above expression, Cxp ∈ R3×2 is a matrix with columns given by each gimbal rotation vector written in

the x frame. This matrix takes the gimbal rates in the P frame and converts them to any frame x. Finally,to put this into the form used by the control law derivation, we utilize a state vector

x =[

ω1 Ωg2 Ωg1

]T

(58)

where Ωg2 = θ2 and Ωg1 = θ1. If we add this kinematic relationship to the expression in (56), we can writeour system of equations in the following form.

[Icmt (I2p −m2rparbp + m2rtrbp)Ca

p(Ca

p

)T (I2p −m2rbprpa + m2rbprt)(Ca

p

)T(I2p + m2

2mt

rbprbp

)Ca

p

][ω1

Ωg

]=

[ (Ca

p

)Tfht(

Cap

)Tfh2

](59)

In this expression, Ωg =[

Ωg2 Ωg1

]T

. The vector expressions in (59) are written in frame A. This givesthe equations of motion in the form utilized in the control law, or

M(y)x = f(t,x,y, z)− u (60)

where z is a vector containing the variables such as va that are not control variables and y is a vectorcomprised of the gimbal angles and the attitude quaternion. The matrix, M depends only on the gimbalangles themselves. The control, u is shown as it appears in the actual dynamics.

17 of 17

American Institute of Aeronautics and Astronautics


Recommended