PDA

View Full Version : Summary: Quaternions vs. Euler angles



Dr. Chris Kirtley
05-03-2001, 07:48 AM
Dear all,

I guess it's time I summarized the great quaternion debate. To remind
you, I
asked why quaternions (otherwise known as Euler parameters) seem to be
used as the standard method for representaing motion in computer
animation and video games, but are not so often used in biomechanics. It
seems that, whilst quaternions have advantages in terms of lack of
gymbal lock, and insensitivity to round-off errors, they suffer from
problems of interpretation in terms of meaningfully clinical or
anatomical angles.

As Joe Sommer and Bruce MacWilliams suggest, the best compromise is
perhaps to use
quaternions for intermediate calculations, then convert to Euler angles
at the end. I have made a summary of the various methods and provided
equations for conversion here:

http://guardian.curtin.edu.au/cga/faq/angles.html

Please let me know if you have any corrections or additions to this page
in the future.

Many thanks indeed to all contributors!

Chris Kirtley
--
Do you mean by quaternions so called Euler parameters? If so, you are
quite right. The four Euler parameters are extensively used in 3D
multibody simulations (instead of Euler angles) for the reasons you've
mentioned.

An example the software that uses the Euler parameters would be MADYMO.
It is a 3D package extensively used in so-called impact biomechanics.
Here, at NHTSA, we use it as one of the tools for injury assessment.

Erik

Erik G. Takhounts, Ph.D.
Senior Research Engineer
Conrad Technologies Inc.
501 School Street, S.W., Ste. 401
Washington, D.C. 20024
Ph. (202) 863-1931
Fax (202) 863-0909
Email: ETakhounts@NHTSA.DOT.GOV
--
There are Euler Angles (EA) vs. Euler Parameters (EP)
(Euler Parameters are sometimes known as normalized quarternions).

EA have only three independent rotational coordinates (the angles)
EP have nine independent direction cosines.

One would think EA simpler.
But the EA involve trigonometric functions and that is quite a
disadvantage.

Futher, still, there is a more severe problem:
for certain values of one of the angles (current notation calls it
theta)
the second and third angles cannot be distingquished and numerical
difficulties exists for these angles, making the programming more
difficult.

Other wise there really is no problem except for the implementation.

Tom Impelluso
--
In animation, the problems with Euler angles mainly arise when doing
motion editing. As long as you leave them alone they are fine.
Motion editing could be: resampling (interpolation), amplification,
motion blending etc. If you perform these operations on Euler angles
directly, you can get strange results, especially near gimbal lock.
The quaternion representation seems to behave better.

It seems that quaternions are the same as the "euler parameters" which
are often used in computational kinematics:

http://www.cs.berkeley.edu/~laura/cs184/quat/quaternion.html

I have also heard the term "angle-axis representation", i.e. the
rotation
is represented as a rotation of magnitude A about an axis (Ux,Uy,Uz).
Euler parameters are defined as follows

e0 = cos(A/2)
e1 = Ux*sin(A/2)
e2 = Uy*sin(A/2)
e3 = Uz*sin(A/2)

The sum of squares of these parameters is exactly one.
See also "Computer Aided Kinematics and Dynamics of Mechanical Systems",
by E.J. Haug.

Note that this representation is closely related to the three "helical
angles" proposed by Herman Woltring. The helical angle representation
is:

h1 = A*Ux
h2 = A*Uy
h3 = A*Uz

Why quaternions are not used more in biomechanics? This probably has
something to do with interpretation. Euler angles can be associated
with the rotations in a mechanical linkage or 3-D goniometer (Grood
and Suntay, J Biomech Eng, 1983). The other representations work well
for computation but are not so easily interpreted.

On the other hand, Woltring makes some good points on error propagation
in his 1994 paper (J Biomech 27:1399-1414). Near gimbal lock, Euler
angles
become increasingly sensitive to measuring errors.

For the newcomers on Biomch-L, I also recommend reading the debate
between
Grood and Woltring, about 10 years ago on Biomch-L:

http://isb.ri.ccf.org/biomch-l/files/angles3d.topic

Ton van den Bogert
Department of Biomedical Engineering
Cleveland Clinic Foundation
9500 Euclid Avenue (ND-20)
Cleveland, OH 44195, USA
Phone/Fax: (216) 444-5566/9198
--

I think Ton has explained it very well. Quaternions are not used because
they are difficult to interpret. Even the engineers will have difficulty
in
visualising what is happening, let alone doctors, physios etc. A
favourite
book of mine which explains everything is JM McCarthy, Introduction to
Theoretical Kinematics, MIT Press, 1990.

Raymond Lee
--
> So, I gather the problem is that the clinician (or sportsman) needs to
> interpret the results in terms of flexion-extension, ab-adduction and
> transverse rotation.

Yes, I think that's why the helical angles were never accepted.
Grood and Suntay is still the only rotation representation that is
used in human movement analysis.

By the way, this not only applies to joints but also to motion
relative to a global reference frame. Yeadon has defined the
terms somersault, tilt, and twist, which are Euler angles that
are consistent with existing coaching terminology.

> But couldn't quaternions be used until the final stage and then
> converted? Or would this still result in problems from the Euler
> representation?

No, then there would be no problem.

> Also, I confess I've never understood the difference between Grood and
> Suntay and Euler - is there a difference?

First, purists make a distinction between Euler angles and Cardanic
angles. Euler rotations are XYX, XZX, YXY, YZY, ZXZ, ZYZ, i.e. all
six sequences where the first and last rotation are about the same
coordinate axis. These were originally developed for celestial
mechanics,
i.e. the first rotation would be the orbit, the last the spin, and the
second the tilt of the axis. These have a singularity when the second
rotation is zero. Cardanic representations are XYZ, XZY,
YZX, YXZ, ZXY, ZYX. These six sequences have a singularity (Gimbal
lock)
when the second rotation is 90 degrees. All of these (Euler and Cardan
angles) are now loosely referred to as "Euler angles". In mechanics
textbooks you usually still find the distinction.

Yes, they are the same as Grood/Suntay. The matrix representation is
exactly the same. Grood really confused the issue by insisting that
this was not a sequence of rotations, but three simultaneous rotations.
But by arranging the mechanical linkage in a certain way, you
effectively
create a sequence. And the mathematics is exactly the same.

A.J. (Ton) van den Bogert, PhD
Department of Biomedical Engineering
Cleveland Clinic Foundation
9500 Euclid Avenue (ND-20)
Cleveland, OH 44195, USA
Phone/Fax: (216) 444-5566/9198
--
I standardly use quarternions for my measurements for all the reasons
you
indicated. But I would never consider publishing data or even casually
presenting results expressed in that form. I think the reason they don't
catch on, is you (or at least I) can't look at them and get an intuitive
feel for what's going on. You could probably make the same argument for
Euler anlges as you have to think about the sequence, but a degree unit
falling between -180 to +180 is somehow more intuitive. Probably just
conditioning, but I think we're adverse to "new tricks" such as this.

Bruce MacWilliams, Ph.D.
--
There is another reason why the animation world prefers quaternions over
Euler angles. Supposedly when you key frame (i.e., interpolate positions
and
orientations between several specified positions and orientations),
Euler
angles produce an unrealistic jerky motion whereas quaternions produce a
smooth motion. I have not actually tried this before to compare, but I
have
heard this comment from several sources in the past.

Also, as you point out, quaternions are not usually taught in most
biomechanics (or even engineering) curriculums. They require a redundant
parameter, which can be slightly inconvenient, but the benefit is the
elimination of gimbal lock (at least from a dynamic simulation
perspective).
Also, the four parameters are related to the screw axis between two
positions, so that can be helpful conceptually.

Computationally, you have to be careful with some singularity problems
when
converting between quaternions and direction cosine matrices (I can't
remember in which direction the problems occur). But other than that,
the
extra constraint equations relating the four parameters is a small price
to
pay for the benefits.

B.J.

B.J. Fregly, Ph.D.
Assistant Professor
Department of Aerospace Engineering,
Mechanics, and Engineering Science,
Biomedical Engineering Program, and
Dept. of Orthopaedics and Rehabilitation
University of Florida
Tel: (352) 392-8157
Fax: (352) 392-7303
E-mail: fregly@aero.ufl.edu
Home page: www.aero.ufl.edu/~fregly
--
1) Minor correction on nomenclature for rotation angle
sequences

The six possible Euler angle sets are XYX, XZX, YXY, YZY,
ZXZ and ZYZ where the first and third rotation axes repeat
(cyclic). Hence Euler angle representations experience
problems when the second rotation angle is zero or 180
degrees (i.e. the first and third axes are parallel). It
has been many years since I saw Euler's work, but I believe
that he used the ZXZ set.

The six possible Cardan-Bryant angle sets are XYZ, XZY, YXZ,
YZX, ZXY and ZYX where no axis repeats (anticyclic). Hence
Cardan-Bryant angle representations experience problems when
the second rotation is 90 or 270 degrees (e.g. the first and
third axes are parallel).

Craig (1989) provides 3x3 rotation matrices for all of the
rotation sets. He, like many others, refers to all twelve sets
simply as Euler angles.

2) Comments on rotation angles versus quaternions

In biomechanics, we face two major problems in regard to
describing both absolute attitude of an anatomical segment
or a camera with respect to an inertial frame or relative
attitude between two segments across an anatomical joint.
Our descriptions must be both mathematically tractable and
clinically relevant.

To analyze machinery, engineers often prefer unit
quaternions for absolute attitude of components (Haug, 1989,
and Kuipers, 1999) or rotation matrices across mechanical
joints (Denavit and Hartenberg, 1955) in that they often do
not need to describe the motion clinically.

As many biomechanics researchers know, rotation angles are
interesting for clinical description but can become
intractable for absolute attitude and for relative attitude
across joints that permit large angular excursions in all
three rotations.

Grood and Suntay's (1983) mechanical analog for the knee was
an important contribution that helped describe relative
attitude in clinically relevant terms. Their approach can
be adopted for many other joints (ankle, wrist) but has
difficulty for others (shoulder).

Concomitantly, I strongly support the efforts of ISB to
develop working groups to recommend "best practice" for
standardized description of attitude across specific joints.
If a working group of scholars can provide clinically
relevant descriptions of attitude using either angle sets or
quaternions, I agree with you that we should take their
"advice as to when a particular method is best".

Have any members of the ISB International Shoulder Group
(http://isb.ri.ccf.org/groups.html) provided input?

The following link also provides a simple discussion
oriented more toward camera imaging but it is still quite
applicable and also provides code snippets.
http://www.gamasutra.com/features/19980703/quaternions_01.htm

3) Comments on screw "helical" axes

For some reason, the biomechanics community has steadfastly
adopted the nomenclature "helical axes" to describe screw
kinematics as postulated by Poinsot and Chasles and later
formalized by Ball (1900). Unfortunately the rich
literature bases in both mathematics and engineering do not
use this "helical" nomenclature at all.

The axis direction and rotation of the displacement screw
axis (DSA) - also know as the finite helical axis (FHA) -
is the same as the direction and rotation of unit quaternion
components. Hence screw kinematics are not superior to
quaternions for representing attitude (absolute or relative)
or attitude displacements. They do however provide an
elegant method to combine the description of location and
attitude (absolute or relative) or location and attitude
displacements.

In particular, geometry of the screw axode surface swept by
the DSA as an anatomical joint moves through its range of
motion should be invariant to size and direction of
displacements as well as joint speed and acceleration.
Hence inspecting anatomical axodes (or deviation from
expected norms) should be able to help identify kinematic
irregularities or joint laxity. Unfortunately, while screw
axodes are quite useful to analyze machine joints, axode
geometric invariants are far too sensitive to experimental
measurement noise for routine clinical biomechanics today.
Further, axode invariants are much harder to visualize and
describe clinically than even quaternions.

4) Personal recommendation

As an engineer, I prefer a combination of Euler parameters
which are unit quaternions and orthonormal rotation matrices
for analysis. Unfortunately, I still prefer rotation angle
sets for clinical discussion.

After 25 years of studying both theoretical and experimental
kinematics (including Chasles' original paper for historical
inspiration), I still cannot say that any one method for
representation of attitude is absolutely the best.

Thanks for posting the summary of representations. If you
feel brave, you may wish to check Rooney's (1977, 1978)
summaries also.

Best wishes,
Joe Sommer

REFERENCES

Ball, R.S. (1900) A Treatise on the Theory of Screws,
Cambridge University Press

Craig, J.J. (1989) Introduction to Robotics, Addison-Wesley

Denavit, J. and Hartenberg, R.S. (1955) A kinematic notation
for lower pair mechanisms based on matrices. ASME J.
Applied Mechanics, 22:215-221

Grood, E.S. and Suntay, W.J. (1983) A joint coordinate
system for the clinical description of three-dimensional
motions: applications to the knee. ASME J. Biomech. Eng.,
105:136-144

Haug, E.J. (1989) Computer-Aided Kinematics and Dynamics of
Mechanical Systems, Allyn and Bacon

Kuipers, J.B. (1999) Quaternions and Rotation Sequences,
Princeton University Press

Rooney, J. (1977) A survey of representations of spatial
rotation about a fixed point. Environment and Planning B,
4:185-210

Rooney, J. (1978) A comparison of representations of general
spatial displacement. Environment and Planning B, 5:45-88

H.J. Sommer III, Ph.D., Professor of Mechanical Engineering
The Pennsylvania State University
337 Leonhard Building, University Park, PA 16802
(814)863-8997 FAX (814)865-9693
hjs1@psu.edu http://www.me.psu.edu/sommer
--
Hi Chris:
The advantages of Quaternions were described in my presentation in the
last 3D conference in South Africa.
The full presentation is at:
http://www.macrosport.com/sportsci/apasweb/presentations/capetown/demo_files
/frame.htm
Of course, the Quaternions is the way to go.
Gideon Ariel, Ph.D.
http://www.arielnet.com
--
as Ton already pointed out, there is an extensive explanation of the use
of quaternions (in their "euler parameter" representation) in "Computer
Aided Kinematics and Dynamics of Mechanical Systems", by E.J. Haug. In
this Book Haug introduces the theory the multi-body-simulation software
DADS is based on.
>From the theoretical point of view euler parameters
e0 = cos(A/2)
e1 = Ux*sin(A/2)
e2 = Uy*sin(A/2)
e3 = Uz*sin(A/2)
are an excellent tool to describe orientations and numerically solve
equations of motion of mechanical multi-body-systems, since there is no
gimbal lock, they are well defined on the unit-sphere (any orientation
of a rigid body can be uniquely/continuesly described by the set of (Ux,
Uy, Uz, A).
Whereas there is no way of integrating angular velocity w to obtain
orientation (since it's not integrable) one may integrate the time-
derivative of euler parameters to calculate e0(t), e1(t), e2(t), e3(t).

On the other hand euler parameters cannot be used to describe multiple
revolutions (uniqueness only on the unit-sphere) which is not too much
of a problem in biomechanics, since no joint range in biological systems
is greater. A problem with euler parameters is though, that it's almost
impossible to set up 3D-torque elements (e.g. for spherical joints).
Except for the trivial case where the joint torque always acts along
(Ux,Uy,Uz) it is very hard to describe a certain experimental behavior
with an euler parameter torque element. I tried this when I wanted to
limit the range of motion for a spherical joint but finally gave up,
since it was simply impossible (at least for me) to find the equations
using euler parameters. So I ended up using angles again.

The interpretaton of euler parameters is simple as long as one looks at
orientation only. But as soon as torque elements or experimental data
are to be described, interpretation seems to be impossible.

Arnim Henze.

Institut f"ur Astronomie und Astrophysik
Universit"at T"ubingen Tel.: ++49 7071 29 78654
Auf der Morgenstelle 10 Fax : ++49 7071 29 5889
D-72076 T"ubingen, Germany email: henze@tat.physik.uni-tuebingen.de
--
Let me remind you that various angular conventions used in biomechanics
are
extensively discussed in the book “Kinematics of Human Motion” by V.
Zatsiorsky. This book was published by Human Kinetics in 1997.

In particular, Section 1.2.6 of the book discusses advantages and
disadvantages of various angular conventions.

Regards,

Alexander Aruin, Ph.D.
Associate Professor of Physical Therapy and Bioengineering (UIC),
Physical Medicine & Rehabilitation (Rush Medical College)
Director of the Knecht Movement Science Laboratory
Department of Physical Therapy (M/C 898)
University of Illinois at Chicago
1919 West Taylor Street,
Chicago, Illinois 60612

Tel: (312) 355-0904 (Office)
(312) 355-0902 (Laboratory)
Fax: (312) 996-4583
E-mail: aaruin@uic.edu
--
A very interesting discussion, and certainly one that is useful to us
here, as we have recently
acquired a "Polaris" system which actually outputs the marker positions
in.....guess
what,....... Quaternions!! So we do have a vested interest to fully
understand this concept.

However, I would like to raise a very important and related issue, i.e.
the practical
(clinical) utilisation of gait/motion data. This I think should be
considered as a basis for
all such discussions.
Does it matter which angular representation is used?
Under many clinical circumstances, gait/ motion information is nearly
unhelpful, and such
mathematical delicacies are ignored completely.

I don't dispute the academic validity of this type of argument, and
perhaps its mathematical
fascination. Detailed discussion of these concepts would be important
for the purposes of
computer simulations and calculations of movements, say in VR
applications or other
computerised processes, where dealing with the errors is not only a
calculation but a
mathematical flirtation. However, when trying to understand the gait
recovery of a 57 year old
stroke patient and decide where to focus the physiotherapy efforts, all
these seem like "star
trek".

I would like to encourage contributions from all colleagues who have the
pleasure of having to
deal with the pragmatic world of health care. At least from a clinical
point of view, it is
important to stimulate discussions about gait data analysis that aims to
enhance patient care,
or at least make it clear that how the discussion could be potentially
relevant to "shop
floor".

Dr. H Rassoulian BSc, MSc, PhD, MIPEM, SRCS
Head of Clinical Bioengineering Group
Dept. Medical Physics & Bioengineering
Southampton University Hospitals NHS Trust
Southampton SO16 6YD
United Kingdom
Tel: 023 80796945
Fax: 023 80794117
email1: Hamid.Rassoulian@suht.swest.nhs.uk
email2: hamidR@soton.ac.uk
--


Dr. Chris Kirtley MD PhD
Associate Professor
HomeCare Technologies for the 21st Century (Whitaker Foundation)
NIDRR Rehabilitation Engineering Research Center on TeleRehabilitation
Dept. of Biomedical Engineering, Pangborn 105B
Catholic University of America
620 Michigan Ave NE
Washington, DC 20064
Tel. 202-319-6247, fax 202-319-4287
Email: kirtley@cua.edu
http://engineering.cua.edu/biomedical

Clinical Gait Analysis: http://guardian.curtin.edu.au/cga
Send subscribe/unsubscribe to listproc@info.curtin.edu.au
--
Dr. Chris Kirtley MD PhD
Associate Professor
HomeCare Technologies for the 21st Century (Whitaker Foundation)
NIDRR Rehabilitation Engineering Research Center on TeleRehabilitation
Dept. of Biomedical Engineering, Pangborn 105B
Catholic University of America
620 Michigan Ave NE
Washington, DC 20064
Tel. 202-319-6247, fax 202-319-4287
Email: kirtley@cua.edu
http://engineering.cua.edu/biomedical

Clinical Gait Analysis: http://guardian.curtin.edu.au/cga
Send subscribe/unsubscribe to listproc@info.curtin.edu.au

---------------------------------------------------------------
To unsubscribe send SIGNOFF BIOMCH-L to LISTSERV@nic.surfnet.nl
For information and archives: http://isb.ri.ccf.org/biomch-l
---------------------------------------------------------------