The parameterization of rotations is a central topic in many theoretical and applied fields such as rigid body mechanics, multibody dynamics, robotics, spacecraft attitude dynamics, navigation, three-dimensional image processing, and computer graphics. Nowadays, the main alternative to the use of rotation matrices, to represent rotations in $ℝ3$, is the use of Euler parameters arranged in quaternion form. Whereas the passage from a set of Euler parameters to the corresponding rotation matrix is unique and straightforward, the passage from a rotation matrix to its corresponding Euler parameters has been revealed to be somewhat tricky if numerical aspects are considered. Since the map from quaternions to 3 × 3 rotation matrices is a 2-to-1 covering map, this map cannot be smoothly inverted. As a consequence, it is erroneously assumed that all inversions should necessarily contain singularities that arise in the form of quotients where the divisor can be arbitrarily small. This misconception is herein clarified. This paper reviews the most representative methods available in the literature, including a comparative analysis of their computational costs and error performances. The presented analysis leads to the conclusion that Cayley's factorization, a little-known method used to compute the double quaternion representation of rotations in four dimensions from 4 × 4 rotation matrices, is the most robust method when particularized to three dimensions.

## References

1.
Spring
,
K. W.
,
1986
, “
Euler Parameters and the Use of Quaternion Algebra in the Manipulation of Finite Rotations: A Review
,”
Mech. Mach. Theory
,
21
(
5
), pp.
365
373
.
2.
Shuster
,
M. D.
,
1993
, “
A Survey of Attitude Representations
,”
J. Astronaut. Sci.
,
41
(
4
), pp.
439
517
.
3.
Goldstein
,
H.
,
1951
,
Classical Mechanics
,
,
Cambridge, MA
.
4.
Paul
,
R. P.
,
1982
,
Robot Manipulators: Mathematics, Programming, and Control
,
MIT Press
,
Cambridge, MA
.
5.
Purwar
,
A.
, and
Ge
,
Q. J.
,
2005
, “
On the Effect of Dual Weights in Computer Aided Design of Rational Motions
,”
ASME J. Mech. Des.
,
27
(
5
), pp.
967
972
.
6.
Goldberg
,
D.
,
1991
, “
What Every Computer Scientist Should Know About Floating-Point Arithmetic
,”
ACM Comput. Surv.
,
23
(
1
), pp.
5
48
.
7.
Henderson
,
D. M.
,
1977
, “
Euler Angles, Quaternions, and Transformation Matrices—Working Relationships
,” National Aeronautics and Space Administration, Mission Planning and Analysis Division, Washington, DC.
8.
Blanco
,
J. L.
,
2013
, “
A Tutorial on SE(3) Transformation Parameterization and On-Manifold Optimization
,” University of Málaga, Málaga, Spain, Technical Report No. 0112010.
9.
Eberly
,
D.
,
2014
, “
Euler Angle Formulas
,” Redmond, WA, accessed Nov. 12, 2018, https://www.geometrictools.com/Documentation/EulerAngles.pdf
10.
Chiaverini
,
S.
, and
Siciliano
,
B.
,
1999
, “
The Unit Quaternion: A Useful Tool for Inverse Kinematics of Robot Manipulators
,”
Syst. Anal. Modell. Simul.
,
35
(
1
), pp.
45
60
.
11.
Hughes
,
P. C.
,
1986
,
Spacecraft Attitude Dynamics
,
Wiley
, New York.
12.
Chirikjian
,
G. S.
, and
Kyatkin
,
A. B.
,
2011
,
Engineering Applications of Noncommutative Harmonic Analysis: With Emphasis on Rotation and Motion Groups
,
CRC Press
,
Boca Raton, FL
.
13.
LaValle
,
S. M.
,
2006
,
Planning Algorithms
,
Cambridge University Press
, Cambridge, UK .
14.
Grubin
,
C.
,
1979
, “
Quaternion Singularity Revised
,”
J. Guid. Control Dyn.
,
2
(
3
), pp.
255
256
.
15.
Sheppard
,
S. W.
,
1978
, “
Quaternion From Rotation Matrix
,”
J. Guid. Control
,
1
(
3
), pp.
223
224
.
16.
Grubin
,
C.
,
1970
, “
Derivation of the Quaternion Scheme Via the Euler Axis and Angle
,”
J. Spacecr. Rockets
,
7
(
10
), pp.
1261
1263
.
17.
Klumpp
,
A. R.
,
1976
, “
Singularity-Free Extraction of a Quaternion From a Direction-Cosine Matrix
,”
J. Spacecr. Rockets
,
13
(
12
), pp.
754
755
.
18.
Spurrier
,
R. A.
,
1978
, “
Comment on Singularity-Free Extraction of a Quaternion From a Direction-Cosine Matrix
,”
J. Spacecr. Rockets
,
15
(
4
), pp.
255
255
.
19.
Klumpp
,
A. R.
,
1978
, “
Reply by Author to R.A. Spurrier
,”
J. Spacecr. Rockets
,
13
(
4
), pp.
256
256
.
20.
Shuster
,
M. D.
, and
Natanson
,
G. A.
,
1993
, “
Quaternion Computation From a Geometric Point of View
,”
J. Astronaut. Sci.
,
41
(
4
), pp.
545
556
.
21.
Sarabandi
,
S.
, and
Thomas
,
F.
,
2018
, “
Accurate Computation of Quaternion From Rotation Matrices
,”
,
J.
Lenarcic
and
V.
Parenti-Castelli
, eds., Springer, Cham, Switzerland.
22.
Angeles
,
J.
,
1997
,
Fundamentals of Robotic Mechanical Systems: Theory, Methods, and Algorithms
,
Springer
, New York.
23.
Thomas
,
F.
,
2014
, “
Approaching Dual Quaternions From Matrix Algebra
,”
IEEE Trans. Rob.
,
30
(
5
), pp.
1037
1048
.
24.
Sarabandi
,
S.
,
Perez-Gracia
,
A.
, and
Thomas
,
F.
,
2018
, “
Singularity-Free Computation of Quaternions From Rotation Matrices in E4 and E3
,”
Seventh Conference on Applied Geometric Algebras in Computer Science and Engineering (AGACSE)
, Campinas, Brazil, July 23–27, pp.
23
27
.
25.
Coope
,
I. D.
,
Lincott
,
A. B.
,
Dunlop
,
G. R.
, and
Vuskovic
,
M. I.
,
2000
, “
Numerically Stable Methods for Converting Rotation Matrices to Euler Parameters
,”
,
J.
Lenarčič
and
M. M.
Stanišić
, eds.,
Springer
, Dordrecht, The Netherlands.
26.
Wahba
,
G.
,
1965
, “
A Least Squares Estimate of Spacecraft Attitude
,”
SIAM Rev.
,
7
(
3
), p.
409
.
27.
Farrell
,
J. L.
,
Stuelpnagel
,
J. C.
,
Wessner
,
R. H.
,
Velman
,
J. R.
, and Brook, J. E.,
1966
, “
A Least Squares Estimate of Spacecraft Attitude
,”
SIAM Rev.
,
8
(
3
), pp.
384
386
.
28.
Keat
,
J.
,
1977
, “
Analysis of Least-Squares Attitude Determination Routine DOAOP
,” Computer Science Corporation, Silver Spring, MD, Technical Report No. CSC/TM-77/6034.
29.
Lerner
,
G. M.
,
1978
, “
Three-Axis Attitude Determination
,”
Spacecraft Attitude Determination and Control
,
J. R.
Wertz
, ed.,
Springer
, Dordrecht, The Netherlands.
30.
Markley
,
F. L.
,
1988
, “
Attitude Determination Using Vector Observations and the Singular Value Decomposition
,”
J. Astronaut. Sci.
,
36
(
3
), pp.
245
258
.
31.
Markley
,
F. L.
, and
Mortari
,
D.
,
1999
, “
How to Estimate Attitude From Vector Observations
,”
Astrodynamics Specialist Conference, Girdwood, Alaska, Aug. 16–19
, AAS/AIAA Paper No.
AAS-99-427
.
32.
Markley
,
F. L.
,
1978
, “
Parameterizations of the Attitude
,”
Spacecraft Attitude Determination and Control
,
J. R.
Wertz
ed.,
Springer
, Dordrecht, The Netherlands.
33.
Shuster
,
M. D.
,
1978
, “
Approximate Algorithms for Fast Optimal Attitude Computation
,”
AIAA
Paper No. AIAA-78-1249.
34.
Bar-Itzhack
,
I.
,
1996
, “
REQUEST: A Recursive QUEST Algorithm for Sequential Attitude Determination
,”
J. Guid. Control Dyn.
,
9
(
5
), pp.
1034
1038
.
35.
Shuster
,
M. D.
, and
Oh
,
S. D.
,
1989
, “
A Simple Kalman Filter and Smoother for Spacecraft Attitude
,”
J. Astronaut. Sci.
,
37
(
1
), pp.
89
106
.
36.
Shuster
,
M. D.
,
2003
, “
Kalman Filtering of Spacecraft Attitude and the QUEST Model
,”
J. Astronaut. Sci.
,
8
(
3
), pp.
377
393
.
37.
Shuster
,
M. D.
,
2006
, “
The Quest for Better Attitudes
,”
J. Astronaut. Sci.
,
54
(
3–4
), pp.
657
683
.
38.
Shuster
,
M. D.
, and
Oh
,
S. D.
,
2014
, “
An Improvement to the Implementation of the QUEST Algorithm
,”
J. Guid. Control Dyn.
,
37
(
1
), pp.
301
305
.
39.
Mortari
,
D.
,
1997
, “
ESOQ: A Closed-Form Solution to the Wahba Problem
,”
J. Astronaut. Sci.
,
45
(
2
), pp.
195
204
.
40.
Mortari
,
D.
,
1997
, “
N-Dimensional Cross Product and Its Application to Matrix Eigenanalysis
,”
J. Guid. Control Dyn.
,
20
(
3
), pp.
509
515
.
41.
Mortari
,
D.
,
1997
, “
ESOQ-2 Single-Point Algorithm for Fast Optimal Attitude Determination
,”
Space Flight Mechanics Meeting, Huntsville, AL, Feb. 10–12, AAS/AIAA Paper No.
AAS-97-1
.
42.
Mortari
,
D.
,
2000
, “
Second Estimator of the Optimal Quaternion
,”
J. Guid. Control Dyn.
,
23
(
5
), pp.
885
888
.
43.
Markley
,
F. L.
,
1993
, “
Attitude Determination Using Vector Observations: A Fast Optimal Matrix Algorithm
,”
J. Astronaut. Sci.
,
41
(
2
), pp.
261
280
.
44.
Shuster
,
M. D.
, and
Oh
,
S. D.
,
1981
, “
Three-Axis Attitude Determination From Vector Observations
,”
J. Guid. Control
,
4
(
1
), pp.
70
77
.
45.
Shuster
,
M. D.
,
2007
, “
,”
J. Astronaut. Sci.
,
55
(
2
), pp.
245
257
.
46.
Duarte
,
R.
,
Martins
,
L. S.
, and
Kuga
,
H. K.
,
2009
, “
Performance Comparison of Attitude Determination Algorithms Developed to Run in a Microprocessor Environment
,”
20th International Congress of Mechanical Engineering
, Gramado, Brazil, Microprocessor Nov. 15–20.
47.
Bar-Itzhack
,
I.
,
2000
, “
New Method for Extracting the Quaternion From a Rotation Matrix
,”
J. Guid. Control Dyn.
,
3
(
6
), pp.
1085
1087
.
48.
Marsaglia
,
G.
,
1972
, “
Choosing a Point From the Surface of a Sphere
,”
Ann. Math. Stat.
,
43
(
2
), pp.
645
646
.
49.
Huynh
,
D. Q.
,
2009
, “
Metrics for 3D Rotations: Comparison and Analysis
,”
J. Math. Imaging Vision
,
5
(
2
), pp.
155
164
.
50.
Bar-Itzhack
,
I.
,
1975
, “
Iterative Optimal Orthogonalization of the Strap-down Matrix
,”
IEEE Trans. Aerosp. Electron. Syst.
,
11
(
1
), pp.
30
37
.