How To Avoid Singularity For Euler Angle Set
How To Avoid Singularity For Euler Angle Set
net/publication/241677756
CITATIONS READS
20 2,063
3 authors:
John Junkins
Texas A&M University
478 PUBLICATIONS 14,927 CITATIONS
SEE PROFILE
All content following this page was uploaded by Puneet Singla on 26 August 2014.
1 Introduction
Spacecraft attitude determination is the process of estimating the orientation of a
spacecraft by making on-board observations of other celestial bodies or reference
points, with respect to some reference frame. Attitude parameters are the set of pa-
rameters that completely describes the orientation of the spacecraft with respect to
a given reference frame, as for instance the inertial reference frame. Leonard Euler
in 1775 has shown [1, 2] that the configuration of a rigid body can be fully defined
by locating a cartesian set of coordinate fixed in rigid body (called body frame) rel-
ative to some inertial coordinate axes. Three parameters are needed to define the
origin of body frame and another three parameters are needed to specify the orien-
tation of body frame with respect to external inertial frame. That’s why, generally
two co-ordinate systems are defined for attitude determination process: one on the
vehicle body called the body frame and second is the inertial reference frame. For
most problems, the reference frame is a non-moving an inertial frame fixed to the
center of Earth. The projection of the body frame axes onto the image frame axes
∗
Graduate Research Assistant, Ph. D. Candidate, Department of Aerospace Engineering, Texas
A&M University, Student Member AAS and AIAA.
†
Associate Professor, Department of Aerospace Engineering, Texas A&M University, College
Station, TX 77843-3141
‡
Distinguished Professor, holder of George J. Eppright Chair, Department of Aerospace Engi-
neering, Texas A&M University, Fellow AAS.
1
is given by an orthogonal matrix (C) called the Direction Cosine Matrix (DCM) or
orientation matrix or attitude matrix. A large number of parameterizations[3] are
listed in the literature for attitude matrix. But Euler Angles (EA), Euler’s principal
axis and angle, Euler-Rodrigues Symmetric Parameters (ERSP) or quaternions, Ro-
drigues Parameters (RP), and Modified Rodrigues Parameters (MRP), are the most
popular ones. Every parametrization has its own advantages and disadvantages. The
main properties of some classical parameterizations of attitude rotational matrix are
listed in Table 1:
algebraic linear ½ ¾
0
ERSP 4 C = functions of q̇ = functions of None qT q = 1
ω
(qi ) qi0 s qi0 s
quadratic non-linear
RP (ri ) 3 C= functions of ṙ = functions of ω φ = ±π None
ri0 s ri0 s
quartic non-linear
MRP 3 C= functions of σ̇ = functions of ω φ = ±2π None
(σi ) σi0 s σi0 s
From Table 1, we can infer that all the minimal sets of parameterizations of attitude
rotation matrix have some non-linearity associated with their differential kinematic
equations and some kind of geometric singularity except two redundant set of pa-
rameterizations, one is attitude matrix and the other is the ERSP. Both of them
have linear and universally applicable differential kinematic equations. The attitude
matrix has 6 redundant parameters whereas the quaternion has only one redundant
parameter, which makes it more preferable with respect to all the other representation
of attitude.
However, the two main reasons that blessed the quaternion as the king of attitude
parametrization, namely the fact that subsequent rotations do not involve use of tran-
scendental functions and the fact that all the minimum parametrization of attitude
present singularity, both of them appear to fall. The reason relies on the fact that
the problem of avoiding the use of transcendental functions belongs to the time when
2
these functions were computed by series expansions, which is, indeed, computationally
expensive while now they are much more efficiently evaluated by look-up tables.§ The
second reason comes out from the capability of the Shuster’s Method of Sequential
Rotations[4] (MSR) to avoid the un-avoidable singularity affecting all the minimum
attitude parameter. Not only the original QUEST[4] algorithm has taken advantage
from the MSR technique, but also some recent attitude determination approaches,
like ESOQ2[5] and OLAE[6].
The attention to the MSR has increased not only in the applications, but also the
complete theory of it has been developed[7]. For these two reason the MSR deserves
more attention than that given.
The basic idea of the method of sequential rotation lies in performing an artificial
rotation R of the n observed directions bi or of the associated reference directions ri .
This, in general, would vary the value of computed attitude. If the original observed
directions bi correspond to the attitude matrix C and R represents the sequential
rotation matrix, then the computed attitude parameter set will correspond to the
attitude matrix CR = CRT . Thus, if the original data set is such that the attitude
estimation algorithm is singular, then the rotated data set can be defined in such a
way that it is not singular. It looks very simple but main problem is how to find
out that when particular attitude parameter set is going to encounter a singularity
at a particular instant and “how to get the original attitude parameter set? ”. In
reference [7], this problem has been discussed in detail for Rodrigues and modified
Rodrigues parameters. However, the process of sequential rotation do not work for
Euler angle set as the process of finding back the original Euler angle parameter
is very tedious and generally do not provide any simple, compact expression. But
there is always an immense interest in Robotics and spacecraft control problems to
parameterize the attitude matrix in terms of Euler angle sets as they provide most
probably the easiest geometric recipe to describe the motion of any object with respect
to a reference frame.
In this paper, we present an efficient algorithm to estimate the spacecraft attitude
in terms of non-singular Euler angle set. First, we present a procedure to detect the
singular Euler angle set from vector observations only and then present an approach
to estimate the non-singular Euler angle set from these vector observations by solving
a Generalized Wahba Problem [8]. The procedure presented in this paper provides
a rigorous linearization of attitude estimation problem, if three or more vector ob-
servations are available, and can be used as a starting algorithm for any nonlinear
estimation algorithm.
§
A look-up table technique consists of evaluating a function just by interpolation between two
close pre-computed values. For instance, in MATLAB, only one floating point operation is required
to evaluate sin x.
3
2 Euler Angle Sets
In this section, we list a procedure to find which Euler angle set is singular based upon
vector observations. But before discussing the algorithm, we give a brief introduction
to Euler angle sets.
Euler angles are one of the most commonly used sets of attitude parameters. They
describe the attitude of reference frame relative to inertial frame by three successive
rotation angles (θ1 , θ2 , θ3 ) about the body fixed axes. The angles (θ1 , θ2 , θ3 ) are called
the Euler angles. The order of the axes about which the reference frame is rotated
is important here. These successive rotation provide an instantaneous geometrical
recipe for inertial frame therefore for a reference frame undergoing a general motion,
the Euler angles are time varying.
Since all rotations are performed about the principal axes of the reference frame, we
define Mi = exp (−[ẽi ]θi ) as an elementary rotation matrix about the ei -body axis.
Here, [ẽi ] represents the skew-symmetric cross product matrix given by the following
expression:
0 −a3 a2
[ã] = a3 0 −a1 (1)
−a2 a1 0
From the expression of Mi , we can construct the following three elementary rotation
matrices:
1 0 0
M1 (θ) = 0 cos θ sin θ (2)
0 − sin θ cos θ
cos θ 0 − sin θ
M2 (θ) = 0 1 0 (3)
sin θ 0 cos θ
cos θ sin θ 0
M3 (θ) = − sin θ cos θ 0 (4)
0 0 1
if i,j, and k, indicate the coordinate axes about which each subsequent rotation is
performed, that is, they can be any integer from 1-3, provided that i 6= j and j 6= k,
are satisfied then the resultant direction cosine matrix can be written as
Cijk (θ1 , θ2 , θ3 ) = Mk (θ3 ) Mj (θ2 ) Mi (θ1 ) (5)
In this way it is possible to define twelve sequences of Euler angles, associated with 12
attitude matrices, denoted by Cijk . Accordingly with the chosen Euler angle sequence,
we may distinguish the “symmetric set” Ciji (when two of the three rotations occur
about the same axis, and the “asymmetric sets” Cijk with i 6= j 6= k, when all the
three rotations occur about three distinct axes.
4
The Euler angle sets represents the minimum parameters attitude parametrization
therefore they all have the disadvantage of being singular but they all are easy to
visualize which makes them popular for many attitude determination problems. For
the asymmetric Euler angle sets θ2 = ± π2 results in geometric singularity. For the
symmetric Euler angle sets the geometric singularity occurs when θ2 = 0 or ±π
radians. We mention that all Euler angle sets encounter singularity for θ2 = ±π
or θ = ± π2 only. This geometric singularity further induces the singularity in the
corresponding Euler angle kinematic differential equations.
It is a fundamental topological fact that singularities can never be eliminated in any
3-dimensional representation of orientation. But we can avoid this singularity by
describing the attitude at a particular instant by the Euler angle set which is farthest
away from singularity. In this paper, we present an algorithm to switch between
different sets of Euler angles to avoid this singularity.
When θ2 = 0 or ±π, C11 element of the attitude matrix, C121 becomes ±1. Therefore,
for a general symmetric Euler angle set i-j-i the singularity θ2 = 0, ±π corresponds to
Cii = ±1. That is why none of the symmetric Euler angle set can be used to describe
the identity rotation i.e. C = I.
Similarly, in case of “asymmetric” Euler angle set, “i-j-k” (i 6= j 6= k), the singularity
corresponding to θ2 = ± π2 that is described by the following expression for elementary
rotation matrix Mj :
π
Mj = exp(∓[e˜j ] ) (7)
2
Using Rodrigues’ formula[3, ?], we can rewrite the following expression for Mj :
Mj = I ± [ẽj ] (8)
5
It should be noticed that j th row of matrix, [ẽj ], is equal to zero due to the fact that
ej is a 3 × 1 unit vector with only j th element being non-zero. Further, keeping in
mind the structure of elementary rotation matrices Mi and Mk , we can easily show
that the k th row of attitude matrix Cijk = Mk Mj Mi is equal to ±eTi , and ith column
is equal to ±ek , where, k 6= i. For example, the attitude matrix for Euler angle set
3-2-1 is given by the following expression:
cθ2 cθ1 cθ2 sθ1 −sθ2
C321 = sθ3 sθ2 cθ1 − cθ3 sθ1 sθ3 sθ2 sθ1 + cθ3 cθ1 sθ3 cθ2 (9)
cθ3 sθ2 cθ1 + sθ3 sθ1 cθ3 sθ2 sθ1 − sθ3 cθ1 cθ3 cθ2
In above written expression for C321 , it is easier to check that when θ2 = ± π2 , the 1st
row equals to −eT1 and 3rd column is equal to e1 .
Therefore, we can state following theorem to capture the singularity condition for a
general Euler angle set:
Singularity Condition. If “i-j-k” denotes the given Euler angle sequence then it
is singular iff the k th row of attitude matrix C is equal to ±eTi † and the ith column
of attitude matrix is equal to ±ek . Further, if b and r represents the body frame and
inertial frame reference vector observations then the “i-j-k” Euler angle sequence is
singular iff the ri component of inertial reference vector r is equal to the bk component
of body frame reference vector b.
Proof. The proof of the first part of this theorem follows from the discussion in last
section while the proof of second part follows from the fact that b = Cr.
As a consequence of this theorem and the fact that attitude matrix, C, is an orthonor-
mal matrix, the singularity condition for “i-j-k” Euler angle set can be described by
Cki element of attitude matrix, C, being ±1. Table 2 lists all the singular Euler angle
sets when Cij = ±1.
6
Table 2: Cij and Corresponding Singular Euler angle Set
rotation matrix R, and the computed attitude matrix CR correspond to the Euler
angle vectors Θ, Φ, and ΘR , respectively, then the problem of finding the original
Euler angle vector corresponds to find Θ with Φ and ΘR assigned. We mention
that this process is very tedious and generally do not provide any simple, compact
expression [9]. However, for the case when the Euler angle set is symmetric, then we
can describe Θ in terms of Φ and ΘR using spherical geometry relationships [9, 10]:
µ ¶
−1 sin Φ2 sin ΘR2 sin(ΘR1 − Φ1 )
Θ1 = −Φ3 + tan
cos Φ2 cos Θ2 − cos ΘR2
−1
Θ2 = cos (cos Φ2 cos ΘR2 + sin Φ2 sin ΘR2 cos(ΘR1 − Φ1 )) (10)
µ ¶
sin Φ2 sin ΘR2 sin(ΘR1 − Φ1 )
Θ3 = ΘR3 − tan−1
cos Φ2 − cos ΘR2 cos Θ2
But, unfortunately, in case of “asymmetric” Euler angle sets, no such expression exist
to our knowledge. Apparently, the method of Sequential rotation does not add a
useful mechanism to avoid the singularity while integrating the Euler angle kinematic
equations.
In the second approach, the fact that elements of direction cosine matrix C are
transcendental functions of Euler angles and therefore Cij lies between −1 and 1 i.e.
kCij k ≤ 1, is used. For instance, Fig. 1 shows the plot of non-diagonal element Cij vs
θ2 for “asymmetric Euler angle” set “j-k-i” and figure 2 shows the plot of diagonal
element Cii vs θ2 for “symmetric” Euler angle set “i-k-i”. The red lines in the figures
corresponds to the singular points, Cij = ±1, while the green lines corresponds to the
points farthest away from singularity. From figure 1, it is clear that an “asymmetric”
Euler angle set “j-k-i” will be farthest away from singularity if θ2 = 0, ±π i.e. Cij = 0.
7
Similarly from figure 2, we can conclude that a “symmetric” Euler angle set “i-k-i”
will be farthest away from singularity if Cii = 0 i.e. θ2 = ± π2 .
0.8
0.6
0.4
0.2
Cij
−0.2
−0.4
−0.6
−0.8
−1
−3 −2 −π/2 −1 0 1 π/2 2 3
θ2
Now, that means we should choose Euler angle set “3-2-1” if element C13 of attitude
matrix, C, is closest to zero at a particular instant of time. From equation (9), it is
clear that it will happen only if θ2 ≈ 0, ±π. Further, from equation (9), we can see
that this situation also corresponds to elements C11 , C12 , C23 and C33 being equal to
±1. From table 2, we can conclude that this corresponds to Euler angle sets 1-2-1,
1-3-1, 2-3-1, 3-1-2, 3-1-3, and 3-2-3, being singular. Table 3 lists all the Euler angle
sets which best describes the attitude when Cij = ±1.
From table 3, it is clear that more than one Euler angle set are farthest away from
singularity whenever a particular Euler angle set approaches singularity. In case of
“asymmetric” Euler angle sets the singularity can be avoided by either switching to
another “asymmetric” or “symmetric” Euler angle set however, in case of “symmet-
ric” Euler angle set the singularity can not be avoided by just switching to another
”symmetric” Euler angle set. In other words, the “symmetric” Euler angle sets can
not be used to represent all possible attitude matrices. For example the identity rota-
tion can not be parameterized by any “symmetric” Euler angle set. Therefore, if our
purpose is just to avoid singularity, then we need to switch between an “asymmetric”
and a “symmetric” or two “asymmetric” Euler angle sets but, if we want to make sure
that at every instant we use the Euler angle set that is farthest away from singularity,
8
1
0.8
0.6
0.4
Cii 0.2
−0.2
−0.4
−0.6
−0.8
−1
−4 −3 −2 −π/2 −1 0 1 π/2 2 3π 4
−π θ2
Table 3: Cij and Corresponding Singular and Non-singular Euler angle Set
9
then we do need to switch between all the twelve Euler angle sets. For example, the
singularity for 3-2-1 Euler angle set can be avoided by either switching to 1-2-3 or
3-1-3 Euler angle set and similarly, the singularity in the case of 1-2-3 or 3-1-3 Euler
angle sets can be avoided by switching to 3-2-1 Euler angle set. Finally, we mention
that switching between different Euler angle sets is also useful in integrating the cor-
responding Kinematic equations where the method of sequential rotation is not very
useful.
Where, ai are non-negative weights, bi and ri are reference unit vectors measured
in spacecraft and inertial frame respectively. Generally, non-negative weights, ai , are
normalized to unity but if the weights are chosen to be the inverse of measured error
variance i.e. ai = σi−2 then the solution to Wahba problem is same as minimum
variance solution.
Attitude estimation problem, as posed by Wahba, is nonlinear in nature irrespective of
which attitude parameters are used, and generally, require the use of some iterative
procedure to determine the attitude parameters of interest. The total number of
iterations required to solve the Wahba problem within desired accuracy depend upon
the initial guess of the attitude parameter of interest. Many closed form solutions [13,
4, 14, 15, 5] to Wahba’s problem have been presented in literature but most of them
are either in terms of quaternion or Rodrigues parameters. To our knowledge, no
closed-form solution to Wahba’s problem exist in terms of any Euler angle set. So it
becomes really important to have a good initial guess for Euler angle set to solve the
Wahba problem using some iterative methods. In this section, we present an efficient
way to come up with the initial guess for particular Euler angle set of interest using
some basic concepts of linear algebra.
¶
With the word optimal attitude is usually intended an attitude satisfying the Wahba’s definition
of attitude optimality. To our knowledge, only the Euler-q algorithm[12] is based on a different
definition of optimality.
10
Equation (11) represents a linear optimization problem in terms of the elements of
the attitude matrix, C subject to nonlinear orthogonality constraint which can be
restated as follows:
1
J(x) = |b − Ax|2 (12)
2
CT C = I (13)
© ªT © ªT
Where, b = bT1 , . . . , bTN ∈ R3N , x = C11 C12 C13 . . . C31 C32 C33
and A is a 3N × 9 matrix given by following expression:
rT1 0 0 0 0 0 0
0 0 0 rT 0 0 0
1
0 0 0 0 0 0 rT
1
A = ... ... ... ... ... ... ... (14)
T
rN 0 0 0 0 0 0
0 0 0 rTN 0 0 0
0 0 0 0 0 0 rTN
1. If b has a nonzero element where A has a row consisting entirely of zeros, then
the system of equations is inconsistent.
2. If the system is consistent and all the variables are lead variables then there is
exactly one solution.
3. If the system is consistent and some of the variables are free variables, then
there are an infinite number of solutions.
Now for the attitude determination problem, it can be easily proved that if the vector
observations are perfectly known,
· then for N > 2¸ the row echelon form of augmented
h i I9×9 x
matrix A ... b is given by . Therefore, according to rule 2, the
O(3N −9)×9 0
attitude determination problem has a unique solution and, if the solution to Wahba
problem exists, then this unique solution is also the solution of Wahba problem.
We state the following theorem to capture the whole idea of above discussion:
Solution to Wahba’s Problem. If the solution to Wahba problem exists and matrix
A has column rank 9 and b lies in range space of A, then the system of equations
Ax = b has exactly one solution which satisfy the orthogonal constraint.
11
So, once we know the attitude matrix C, we can estimate the non-singular Euler angle
set using the formulas listed in Ref. [16]. But in real life, the attitude estimation
problem is not so simple, and the vector observations, generally body vector measure-
ments, are subject to sensor errors. Due to errors in vector measurements, the vector
listing the body reference vectors, b, may not lie in the range space of matrix A, and
so we can not even guarantee the existence of the solution to the equation Ax = b.
In this case, we can determine the approximate attitude using deterministic method
like TRIAD[17] and, later on, one can use the TRIAD solution as an initial guess to
find the optimal solution. But the greatest drawbacks of the TRIAD method is that
it is applicable only for two vector measurements and a tedious approach is required
to combine the solution for the various vector measurements pairs when more than
two vector measurements are available. So to overcome this drawback of TRIAD
solution, we suggest to find the suboptimal least square solution to equation (12), by
discarding the orthogonality constraint given in equation (13):
x = (AT R−1 A)−1 AT R−1 b (15)
Where, R is the measurement error covariance matrix. It should be noticed that
if b, lies in the range space of matrix A then the least square solution, Cls will be
equivalent to the unique solution listed above. Further, we can pose the Procrustes
problem i.e. to find the orthogonal matrix Ĉ that is closest to least square solution
in the sense of Frobenius norm.
Minimize: ||Ĉ − Cls || (16)
The solution to Procrustes’s problem can be found in ref. [18] and is given by:
Ĉ = UVT (17)
where U and V are orthogonal matrices obtained by singular value decomposition of
least square solution, Cls .
It should be noticed that even the solution to Procrustes’s problem is not the optimal
solution to Wahba’s problem. Therefore, to find the optimal solution in terms of non-
singular Euler angle set the concept of small rotation is used. The true solution to
the Wahba problem in terms of any non-singular Euler angle sequence can be written
as a small rotation to the estimated attitude matrix either by Procrustes’s problem
or least square method, Ĉk i.e.
³ h i´
C = I − δθ ˜ Ĉ (18)
h i
Where, δθ ˜ is the cross product matrix given by following expression:
h i 0 −δθ3 δθ2
˜ = δθ3
δθ 0 −δθ1 (19)
−δθ2 δθ1 0
k
To avoid any confusion, Ĉ will be used to denote the initial guess for attitude matrix
12
Now, modelling the sensor errors as Gaussian white noise and making use of the fact
that bi = Cri , we can write:
b̃i = Cri + νi (20)
where, b̃i represents the measured vector observation in the body reference frame.
Further, substitution of equation (18) in equation (20) yields the following expression:
³ h i´
b̃i = I − δθ ˜ Ĉri + νi (21)
where, b̂ = Ĉri . Now the set of small rotation angles δθ can be estimated from
equation (22) using Gaussian Least squares:
So the whole Euler angle estimation algorithm can be summarized as follows:
1. Given vector measurements bi and ri find which euler angle set is non-singular.
2. Find the least square solution for attitude matrix, C and call it Cls .
3. Find the closest orthogonal matrix, Ĉ to least square solution Cls by solving
Procrustes problem.
4. Find the estimate for non-singular Euler angle set and call it θ̂1 .
5. set i = 1.
The above mentioned procedure permits the computation of optimal Euler angle set
to arbitrarily high accuracy. The procedure to find the initial guess for Euler angle
set is of practical interest and very useful in reducing the total number of iterations
required to find the optimal solution to the Wahba problem in terms of particular
Euler angle set. Further, we mention that this procedure can be used to start any
nonlinear estimation algorithm like “Extended Kalman Filter” to estimate the Euler
angle set in real time.
6 Error Analysis
In this section, We determine a relationship between the attitude error and the mea-
surement noise using the computed attitude. This is accomplished by using the
13
Wahba’s loss function: n
1X
J= (b̃i − b̂i )T Ri (b̃i − b̂i ) (23)
2 i=1
where, n is the total number of vector measurement available. According to the Gauss
Markov equation [19] the error attitude can be computed as
where, h i
˜
− b̂1
h i R1 O · · · O
˜
− b̂2 O R2 · · · O
· · · · ·
H= R=
(25)
· · · · ·
· · · ·
h· i
O O · · · Rn
˜
− b̂n
We recognize that HT R−1 H is the attitude error covariance matrix P derived from
the least square formulation. Therefore, equation (24) can be re-written as
Finally,
h substitution
i of equations (29) and (30) in equation (28) and using the fact
˜
that b̂k is a skew symmetric matrix leads to the following expression for Γk
h i h iT
˜ ˜
Γk = Rk − b̂k P b̂k (31)
14
The matrix Γk can be computed independently by following recursive expression:
1 k
Γi (k + 1) = Γi (k) + { [ei (k + 1) − ēi (k)][ei (k + 1) − ēi (k)]T − Γi (k)} (32)
k+1 k+1
where
1
ēi (k + 1) = ēi (k) + [ei (k + 1) − ēi (k)] (33)
k+1
where ei = b̃−b̂ is the residual error and ēi is the mean of residual error. Equation (31)
can be used to check the validity of the attitude determination algorithm mentioned
in last section. It should be made sure that, the error covariance is inline with the
projected random error magnitude and the left hand side of equation (31) matches
well with the right hand side.
7 Numerical Simulation
In this section, we test the algorithm, developed in this paper, by simulating star
camera images. The spacecraft body frame star vectors and the reference frame star
vectors are simulated by using the J-2000 star catalog with stars of visual magnitude
brighter than Mv ∼ 6.4. The FOV of the star camera is assumed to be 80 × 80
and the true spacecraft body frame vectors are corrupted by centrioding error of 17µ
radian. The angular motion of the spacecraft, for simulation purposes is established
by prescribing an exact nominal Euler 3-2-1 angle motion.
π
θ1 (t) = sin(t/4), θ2 (t) = sin(t/5), θ3 (t) = cos(t/5) (34)
2
Figure 3 shows the plot of the true 3-2-1, Euler angles with time. It should be
noticed that for the choice of angular motions, the 3-2-1 Euler angle set can not
used to estimate the spacecraft attitude at each time. Therefore, whenever 3-2-1
Euler angle set reaches singularity we switch to 3-1-3 Euler angle set to compute
the spacecraft attitude. Initially, least square solution given by equation (15) is used
to compute the non-singular Euler angle set, 3-2-1, in this case. The method of
sequential least squares [19] and small rotation, as described in previous section, is
used to find the spacecraft attitude at subsequent times. Figure 4 shows the plot of the
attitude error∗∗ angle with time. From this figure, it is clear that the procedure listed
in previous section works well for the attitude estimation in terms of non-singular
Euler angle set.
∗∗
Attitude Error is defined as the principal rotation angle corresponding to error attitude matrix
i.e. cos−1 ( 12 T r(Ctrue CT
estimated − I))
15
1
θ1
0
−1
0 20 40 60 80 100
2
θ2
0
−2
0 20 40 60 80 100
1
θ3
−1
0 20 40 60 80 100
Time (Sec)
−4
x 10
6
4
Attitude Error
0
0 20 40 60 80 100
Time (Sec)
16
8 Conclusion
An efficient algorithm based upon switching between different Euler angle sets is
presented to avoid the geometric singularity associated with different Euler angle
sets. The switching algorithm presented in this paper is based upon some well known
observations regarding Euler angle sets and is of practical significance mostly in the
field of robotics and spacecraft attitude control. Beside this an efficient algorithm
is presented to find the optimal solution to the Wahba problem in terms of non-
singular Euler angle set. The algorithm presented in paper is based upon some basic
algebraic concepts and can be used as a starting algorithm for the nonlinear filter
algorithms like “Extended Kalman Filter” for real time applications. However, the
switching between different Euler angle set in Kalman filter to avoid the singularity is
still an issue. Finally, we mention that although we present a mechanism to avoid the
singularity in the Euler angle set but lot more work is required to make this procedure
attractive for the spacecraft attitude estimation problem.
References
[1] L. Euler. Formulae generales pro trandlatione quacunque corporum rigidorum.
Novi Acad. Sci. Petrop., 20:189–207, 1775.
[8] G. Wahba. Problem 65-1: A least square estimate of spacecraft attitude. SIAM
Review, 7(3):409, July 1965.
17
[9] J. L. Junkins and H. Schaub. Analytical Mechanics of Aerospace Systems. AIAA,
2003.
View publication stats
[10] J. L. Junkins and M. D. Shuster. The geometry of euler angles. Journal of the
Astronaumical Sciences, 41(4):531–543, 1993.
[11] L. F. Markley and D. Mortari. Quaternion attitude estimation using vector ob-
servations. The Journal of the Astronautical Sciences, 48(2/3):359–380, April–
September 2000. Special Issue: The Richard H. Battin Astrodynamics Sympo-
sium.
[12] D. Mortari. Euler–q algorithm for attitude determination from vector observa-
tions. Journal of Guidance, Control and Dynamics, 21(2):328–334, March–April
1998.
[14] F. L. Markley. Attitude Determination Using Vector Observation and the Singu-
lar Value Decomposition. The Journal of the Astronautical Sciences, 36(3):245–
258, July–September 1988.
[15] D. Mortari. Esoq: A Closed–form solution to the wahba problem. Journal of the
Astronautical Sciences, 45(2):195–204, April–June 1997.
[16] J.L. Junkins and J.D. Turner. Optimal Spacecraft Rotational Maneuvres. Else-
vier, Amsterdam,, New York, 1986.
[18] John L. Junkins and Youdan Kim. Introduction to Dynamics and Control of
Flexible Structures. American Institute of Aeronautics and Astronautics, 1993.
18