1. Introduction
The modeling of a space vehiclefs attitude motion
is an important aspect of its design and development
activities. The mission performance usually depends
on the proper execution of the attitude determination
and control functions, for instance by providing the
required pointing orientation for the instruments.
In order to model the evolution of the satellitefs
attitude motion under the prevailing environmental
and control torques, a mathematical representation of
the attitude orientation as a function of time must be
adopted. This is not a straightforward task because of
the many available options, in particular for threeaxis-
stabilized satellites. The commonly used attitude
representations can be established using coordinate
transformations as shown in the reference book by
[Wertz]1 and in the survey paper of [Shuster]2.
2. Vector Rotations
First, we provide a general model for describing
arbitrary vector rotations in space, which forms the
basis for the attitude representations presented below.
2.1 Eulerfs Theorem
The starting point for describing vector and attitude
rotations is Eulerfs theorem [Hughes]3, p. 10:
The general displacement of a rigid body with
one fixed point is a rotation about an axis
through that point
This fixed rotation axis is designated as the Euler
axis which is designated by the unit-vector e. The
rotation angle about the Euler axis is represented by
the Euler angle F as shown in Figure 1.
Fig. 1 ? Vector Rotation about Euler Axis
We analyze the effect of a general rotation angle F
about the Euler axis e on an arbitrary initial vector a.
The result can best be visualized by the elementary
geometry illustrated in Figure 1. The vector b
resulting from the rotation about the axis e can be
broken up as the sum of three vectors. After starting
with the vector a itself, we add the vector of length
r (1 ? cosF), with radius r = |e ~ a| = |a| sina, in the
direction of the vector e ~ (e ~ a). Finally, we add the
third vector of length r sin F along the vector e ~ a.
The complete expression for the vector b is thus:
b = a + (1 ? cos F)e~(e~a) +sin F(e~a) (1)
A more formal derivation of this result can be found
in [Shuster]2, pp. 449-451, in particular eq. (101b).
- 2 -
2.2 Infinitesimal Vector Rotation
In order to obtain a deeper understanding of the
nature of vector rotations we study the effect of an
infinitesimal rotation DF about the Euler axis on an
arbitrary vector r as shown in Figure 2:
Dr = (e~r) DF (2)
Fig. 2 ? Infinitesimal Vector Rotation
It is convenient to employ the skew-symmetric matrix
[e~], which is defined in analogy with the common
vector cross-product:
3 2
3 1
2 1
0
[ ] , with [ ] 0
0
e e
e e
e e
?
~ = ~ ~ = ?
?
e r e r e (3)
The entries ej (j = 1, 2, 3) refer to the components of
the (Euler axis) unit-vector e in an arbitrary inertial
reference frame.
When performing the limit for DF 0, eq. (2)
takes the form of a linear vector differential equation
with constant coefficients:
0
( ) lim [ ]
DFR
D
‘ F =
= ~
DF
r
r e r (4)
2.3 General Large Angle Rotation
The exact solution of eq. (4) for an arbitrary initial
condition r0 = r (F = 0) = a can be obtained from
linear system theory, see for instance [Rugh]4, p. 66:
r(F) =exp{F[e~]}a (5)
The infinite series expansion of the exponential
function allows us to express r (F) in the form:
0
1
( ) { [ ]}
!
k
k k
\
=
r F =
F e~ a (6)
The second power of the matrix can be written in
explicit form by using the definition of [e~] in eq. (3):
2
1 1 2 1 3
2 2 T
1 2 2 2 3
2
1 3 2 3 3
1
[ ] 1 [ ] [I]
1
e e e e e
e e e e e
e e e e e
?
~ = ? = ?
?
e ee (7)
Here, eeT denotes the vector outer-product and [I] is
the identity matrix. It can easily be confirmed that the
product of the matrices [e~] and [eeT] vanishes.
Therefore, eq. (7) produces [e~]3 = -[e~] and the
higher powers of [e~] can be reduced to:
2 1 2
2 1
[ ] ( 1) [ ]
1, 2,...
[ ] ( 1) [ ]
j j
j j
j
+
+
~ = ? ~
=
~ = ? ~
e e
e e
(8)
After substituting these results in the series expansion
of eq. (6), we obtain:
3 5
2 4 6 2
2
( ) + { / 3! / 5! ...}[ ]
{ / 2! / 4! / 6! ...}[ ]
{[I]+ sin [ ]+ (1 cos )[ ] }
F = F?F +F + ~ +
+ F ?F +F + ~
= F ~ ? F ~
r a e a
e a =
e e a
(9)
or:
2
( ) [R( )] , with :
[R( )] [I]+ sin [ ]+ (1 cos )[ ]
F = F
F = F ~ ? F ~
r a
e e
(10)
The expressions in eq. (1) and eq. (10) are obviously
equivalent. Since both [e~]e and [e~]2 e vanish, Eq.
(10) leads to [R]e = e, which implies that e is an
eigen-vector of the matrix [R] with eigen-value l = 1.
This is self-evident because the vector e is invariant
to a rotation about itself.
In general, the rotation over the positive angle F
about the fixed Euler axis e maps the vector a = r0
into the vector b = r (F) = [R] a. Similarly, it can
readily be shown that the inverse mapping is given
by a = r (-F) = [R]T b, with:
T 2 [R] = [I]?sinF [e~]+(1? cosF)[e~] (11)
Finally, it is a straightforward exercise to show that
[R] [R]T = [I] and that the determinant of [R] = 1.
Therefore, [R] is a proper orthogonal matrix.
- 3 -
3. Reference Frame Transformations
Now we consider the general transformation from
one reference frame to another frame. This provides
the mapping of a vector with components in one
reference frame into the same vector (but with other
components) in a different frame. The understanding
of these transformations is important for describing
the space vehiclefs attitude motion. After attaching a
reference frame to the satellite (which is assumed
rigid here), we describe the satellitefs attitude motion
through the evolution of the satellite-fixed frame.
3.1 Direction-Cosine Matrix
We consider the fundamental reference frame with
axes (X1, X2, X3) and the satellite-fixed body frame
with axes (x1, x2, x3) as shown in Figure 3. Usually,
but not always, the (X1, X2, X3) frame is an inertial
reference frame. The unit-vectors along the axes of
these two coordinate frames are designated by Xi (i =
1, 2, 3) and xj (j = 1, 2, 3), respectively.
Fig. 3 ? Satellite Frame in Reference Frame
The projections of the unit-vectors xj (j = 1, 2, 3)
along the satellite body axes onto the inertial
reference axes with unit-vectors Xk (k = 1, 2, 3) are:
3 3
1 1
( ) (cos ) j j k k jk k
k k
J
= =
x =
x i X X =
X (12)
We introduce the Direction-Cosine Matrix (DCM)
(also known as the attitude matrix) [A] as follows:
1 1 1 2 1 3
2 1 2 2 2 3
3 1 3 2 3 3
( ) ( ) ( )
[A] ( ) ( ) ( )
( ) ( ) ( )
=
x X x X x X
x X x X x X
x X x X x X
i i i
i i i
i i i
(13)
When using the projections of the unit-vector in eq.
(12) we can show that:
3
1
( ) ( ) ( ) ( , 1, 2,3) j k k j j
k
d j
=
x X X x = x x = =
i i i (14)
where j d is the Kronecker delta. Eq. (14) is useful
for confirming that [A] [A]T is equal to the identity
matrix. Also it follows by explicit calculation that the
determinant of [A] equals x1 ? (x2 ~ x3) = 1 for a righthanded
reference frame. Thus, [A] is a proper real
orthogonal matrix, see [Wertz]1, section 12.1.
3.2 Transformation of Arbitrary Vector
We consider the arbitrary vector T
1 2 3 ( , , ) B B B B a = a a a
with components in the body reference frame:
1
1 1 2 2 3 3 1 2 3 2
3
( , , ) B B B B B B B a a a a a a
= + + =
x
a x x x x
x
(15)
We wish to express the body vector B a in terms of
its components along the (X1, X2, X3) reference axes.
From eqs. (12) and (13) produce:
1 1
1 2 3 2 1 2 3 2
3 3
( , , ) ( , , )[A] B B B B B B B a a a a a a
= =
x X
a x X
x X
(16)
The components of B a along the (X1, X2, X3) axes
are denoted by T
1 2 3 ( , , ) I I I I a = a a a . Eq. (16) allows us
to write I a in the components of B a and vice versa:
T
1 2 3 1 2 3
[A]
( , , ) ( , , )[A]
[A]
I B
I I I B B B
B I
a a a a a a
=
=
=
a a
a a
(17)
The final equation maps the vector I a with its
components in the fundamental reference frame into
the vector B a with components in the body frame.
In explicit terms we find from eq. (13):
3
1
( ) ( ) ( 1, 2,3) B I I
j j k k j k
k
a a j
=
=
x i X = x ia = (18)
Thus, the structure of the transformation between B a
and I a in eq. (18) is identical to the one between the
body unit-vectors xj and the Xi vectors in eq. (12).
3.3 Geometrical Interpretation
The transformation between reference frames can
also be understood in terms of Eulerfs Theorem, see
[Schaub and Junkins]5, p. 87:
A reference frame can be brought from an
arbitrary initial orientation to an arbitrary
final orientation by means of a single rotation
about a fixed rotation axis
The rotation axis and angle are of course the
axis and angle introduced in Figure 1. The Euler axis
e maintains a fixed orientation in both the initial
the final frames as illustrated in Figure 4.
Fig. 4 - Frame Rotation ([Kuipers]
The general transformation between reference
frames can be understood by employing the
the vector rotation in eq. (10) and Figure 1
the body unit-vectors xj (j = 1, 2, 3) originat
the mapping of the corresponding fundamental
vectors Xi (i = 1, 2, 3) due to the rotation about
Euler axis e over the angle F (see
Therefore, we have as in eq. (10):
( xi F) = [R( F)] Xi ( i =1, 2,3)
The matrix [R] is given by:
2
T
[R] [I]+ [ ]+ (1 )[ ]
[I]+ [ ]+ (1 )[ ]
S C
C S C
= ~ ? ~ =
= ~ ?
e e
e e e
with abbreviations C = cosF and S = sinF
Eqs. (19) and (20) produce explicit results, in terms
of the Euler axis and angle, for the projections
body unit-vectors xj (j = 1, 2, 3) onto the fundamental
reference axes. When substituting the explicit unit
vectors Xi (i = 1, 2, 3) and the entries of
[e~] in eq. (3) and [eeT] in eq. 7, we find:
2
1
1 1 2 3
1 3 2
1 (1 )
[R( )] 0 (1 )
0 (1 )
C e C
e e C e S
e e C e S
+ ?
= F = ? +
? ?
x
1 2 3
2
2 2
2 3 1
0 (1 )
[R( )] 1 (1 )
0 (1 )
e e C e S
C e C
e e C e S
? ?
= F = + ?
? +
x
Euler
he and
6, p. 162)
result for
1. Each of
originates from
unitrotation
the
Figure 4).
1,2,3) (19)
ee
(20)
.
of the
unitof
the matrices
:
C)
(21.1)
(21.2)
1 3 3
3 2 3 1
0 (1 )
[R( )] 0 (1 )
1
e e C e S
e e C e S
C e C
? +
= F = ? ?
+ ?
x
Finally, we recall that the component
3) along the fundamental axes Xk
same as ( ) j k x iX . This means that the column vectors
in eqs. (21) are precisely the rows of the
matrix [A] in eq. (13):
2
1 1 2 3 1 3 2
2
1 2 3 2 2 3 1
1 3 2 2 3 1 3
(1 ) (1 ) (1 )
[A] (1 ) (1 ) (1 )
(1 ) (1 ) (1 )
C e C e e C e S e e C e S
e e C e S C e C e e C e S
e e C e S e e C e S C e C
+ ? ? + ? ?
= ? ? + ? ? +
? + ? ? + ?
When comparing this result with eq.
T T [A] = [R] = C[I]? S [e~]+ (1?C)[ee ]
It can also be shown that [A]e =
axis e is an eigenvector of the matrix [A] with the
eigenvalue l = 1. This confirms that the Euler axis is
invariant to the mapping induced by [A].
The result in eq. (22) represents the most general
form for an arbitrary transformation matrix in (three
dimensional) space. Conversely, when an arbitrary
transformation matrix [B] is given, it is easy to
calculate the Euler angle and Euler axis from the
components bjk (j,k = 1, 2, 3) of [B]:
F =arccos{(trace[B]?1) / 2}
( 23 32 13 31 12 21 e = b ?b , b ?b , b ?b /(2sinF)
where trace[B] is the sum of the diagonal terms
= 1, 2, 3). There are two feasible solutions due to the
fact that the rotation (e,F) is identical to
4. Useful Attitude Representations
From the general results given
attitude representations can be established
exhaustive summary of [Shuster]
representations that are commonly used
4.1 Quaternion Representation
Perhaps the most popular attitude representation is
the quaternion with the Euler symmetric
as its components, see [Wertz]1
defined by the Euler axis and Euler
sin( / 2), 1,2,3; cos( / 2) j j q = e F j = q = F
These four parameters are not independent
(qj)2 = 1. The terms in the direction
of eq. (22) can be expressed in q =
2
3
(1 )
(21.3)
components of xj (j = 1, 2,
k (k = 1, 2, 3) are the
DCM rotation
2
(22)
(20) we find:
(23)
e so that the Euler
threedimensional)
(24.1)
)T
(24.2)
bjj (j
. (-e,-F).
above, different
established, see the
2. We present a few
in practice.
parameters
, p. 414. They are
angle as follows:
4 (25)
because Sj
direction-cosine matrix [A]
(q1, c, q4)T:
2 2 2 2
1 2 3 4 1 2 3 4 1 3 2 4
2 2 2
1 2 3 4 2 1 3 4 2 3 1 4
2 2 2 2
1 3 2 4 2 3 1 4 3 1 2 4
2( ) 2( )
[A( )] 2( ) 2( )
2( ) 2( )
q q q q q q q q q q q q
q q q q q q q q q q q q
q q q q q q q q q q q q
? ? + + ?
= ? ? ? + +
+ ? ? ? +
q
or:
2 T
4 4 [A(q)] = ( q ?qiq)[I ]? 2 q [q~]+ 2qq
The quaternion offers a few significant
compared to the direction-cosine matrix
parameters are needed and two individual rotations
can be combined very easily ([Wertz]1, p. 415
Another efficient representation is the Gibbs vector
with its components defined by the Euler parameters:
gj = qj /q4 (j = 1, 2, 3). The Gibbs vector
only three parameters, which is the minimum
associated DCM matrix is given in [Wertz]
4.2 Tait-Bryan Angles
Finally, we present the Tait-Bryan (TB)
angles, which is one set of the classical Euler angles,
see [Wertz]1, pp. 417-420, and p. 764. The T
Bryan angles are defined as the 1-2-3
Euler angles, i.e. successive rotations about
z axes over the angles j, q, y, respectively
Fig. 5 - Tait-Bryan Angles (1-2-3 Sequence)
The general transformation matrix [A(
terms of the TB angles is given in [Wertz]
The use of the TB angles is especially
when the satellite frame is close to
reference frame, e.g. Earth-pointing satellite missions
In these applications, both the Euler angle
TB angles are small quantities, written as
(Dj, Dq, Dy)T, respectively. Therefore,
neglect terms of second and higher order
angles and the general transformation matrix
[Wertz]1, p. 764, can be simplified into the form:
(26.1)
q q)[ ] q ] (26.2)
advantages
matrix. Only four
415-416).
consists of
minimum. The
1, p. 416.
attitude
Tait-
sequence of
the x, y,
(Fig. 5).
j,q,y)] in
1, p. 764.
attractive
an adopted
missions.
and the
DF and
we may
in the TB
in
1
[A] 1
y q
y j
q j
D ? D
â ?D D
D ? D
In this special case, the general result of eq. (
be reduced to only first-order terms
T
2 1
1
[A] [R] [I] [ ] e 1
e
e e
= â ? DF ~ â ?DF DF
DF ? DF
e
It is advantageous to define the vector
When comparing eq. (28.2) with eq. (27) we
2 2 2 DF â (D) + (D) + (D)
( )T
e â D j,D q ,D y / DF
The same results may also be obtained
That approach, however, would require
expansions (in the TB angles Dj,
diagonal terms of the matrix [A] in
to be able to calculate the Euler angle
5. Conclusions
The paper provides a review of rotations of
and reference frames based on the application of
Theorem. The resulting mathematical
interpreted by straightforward geometrical
The analysis aims at the selection of suitable
representations for practical space
particular, the Tait-Bryan angles
efficient representation for three-axis applications
the attitude is kept close to a reference attitude.
6. References
1) Wertz, James R. (Editor),
Determination and Control,
Publisher, Dordrecht, Holland, 1978,
2) Shuster, Malcolm D., eA Survey of Attitude
Representationsf, The Journal of the Astro
Sciences, Vol. 41, No. 4, October-
439?517.
3) Hughes, Peter C., Attitude Dynamics
Publications, Inc., Mineola, NY, 2004.
4) Rugh, Wilson. J., Linear system Theory
Hall, Inc., Englewood Cliffs, NJ, 1993.
5) Schaub, Hanspeter, and John L. Junkins,
Mechanics of Space Systems, AIAA Education Series,
AIAA, Inc., Reston, VA, 2003.
6) Kuipers, Jack B., eQuaternions and Rotation
Sequencesf, Princeton University Press,
1999.
1
(27)
23) can
in DF:
3 2
3 1
1
e e
DF ? DF (28)
DF = DF e.
find:
j q y (29.1)
(29.2)
from eqs. (24).
second-order
Dq, and Dy) in the
eq. (27) in order
DF.
vector
Eulerfs
expressions are
arguments.
attitude
applications. In
are proposed as an
when
rence Spacecraft Attitude
, Kluwer Academic
section 12.1.
Astro-nautical
-December, 1993, pp.
Dynamics, Dover
, Theory, Prentice
iffs, Analytical
Princeton, NJ,