You can
learn about the Quaternions here (Click here)
Hi Ton 
Gideon asked me to answer this.
We did indeed look at axisangle notation. Interpolating these will work too
without any artifacts. In fact, this is conceptually not all too different
from the definition of what the operation q v q^(1) does, q being a
quaternion operating on a vector v. Quaternions also rotate an object about
an arbitrary axis (but only about an angle of 1/2 phi, just a technicality).
Some advantages of quaternions over axisangle:
 composing quaternion rotations is trivial and computationally cheaper
 dividing rotations (interpolation) is computationally cheaper
 quaternions are "the standard" attitude representation and rotation
operator in many other fields, including animation
Regarding the Euler/Cardan angles... I personally have great difficulty
convincing myself that there is a meaningful relationship between
Euler/Cardan Angles and clinical joint angles (unless 2 out of 3 are
zero)... In fact I feel that many of the numbers that people are looking for
in clinical gait analysis are meaningless when multiple Euler/Cardan angles
become significant simultaneously (e.g. around maximum knee flexion). What
IS knee varus/valgus in this case? Or rotation? I do realize this has been
discussed previously on biomchL by Grood vs. our fellow Dutchman Herman
Woltring, so no need to repeat it here. I vote for Woltring though.
Hope this answers your questions.
Sincerely  Rudolf
Rudolf J.C. Buijs
OO Evangelist
buijs@caiw.nl or 65.13.9.20/Rude
Phone: +31 654 697213
 Original Message 
From: Ton van den Bogert <bogert@bme.ri.ccf.org>
To: Gideon Ariel <gideon@arielnet.com>
Sent: Wednesday, May 24, 2000 9:56 AM
Subject: Re: 3D confereence
>
>
> Gideon Ariel wrote:
>
> > I think we solve the problems with Euler angles discrepancies and
the
> > problem with Gimbel Lock.
>
> Hi Gideon,
>
> Thanks for sharing this with me. This is a great educational presentation
> and I'm sure the 3D people will have enjoyed it.
>
> I have never used quaternions, but I do know that animation people use
> angleaxis notation (which is the same as Woltring's helical angle) for
> interpolation. I saw you showed how Euler angle interpolation gives
> incorrect results. Did you also try the angleaxis interpolation?
>
> Of course, in clinical gait analysis we still want to see numbers
> (in addition to rendered animations) and cardanic/euler angles still seem
> to be the numbers that are easiest to interpret for clinicians.
>
> Ton
>
Hi Ton:
Thanks for your quick response and your kind words. How do you enjoy living
in Cleveland?
To answer your question: Yes. We already use quaternions in our gait and
other software because quats are generally applicable and have many
advantages. No exceptions, no singularities. No special cases. Quaternions
are equally applicable to any segment or object we wish to model, even for
traditionally more difficult situations such modelling the shoulder. Order
of rotations, careful choice of coordinate systems, and special processing
around singularities are all irrelevant when using quats. They're just a bit
unintuitive and hard to visualize because we do not tend to think well in
4D.
One of the reasons that our system produces reports in joint angles (well...
Euler/Cardan angles, even though I cannot understand their exact
relationship to actual joint angles) is to stay "compatible" with the
wellaccepted gait systems and to conform to the internationally published
and accepted standards and definitions.
However, I do enjoy the challenge to try and improve the definitions of
joint angles. I haven't given it much thought yet (I'm new in biomechanics).
Your suggestions sound like a promising start to improve them and make more
sense to me than the Euler/Cardan angles.
But .... although I do believe that these definitions may be improved upon,
I strongly suspect this exercise will prove futile in the end because in my
mind mapping *3D* orientation onto clinically meaningful joint angles is
fundamentally flawed.
What's your opinion in this?
Best regards  Rudolf, Ariel Dynamics Inc.
Original Message
From: Ton van den Bogert [mailto:bogert@bme.ri.ccf.org]
Sent: Thursday, May 25, 2000 16:11
To: Rudolf J.C. Buijs
Cc: Gideon Ariel (Email)
Subject: Re: FW: 3D conference
Hi Rudolf,
Good work!
> Regarding the Euler/Cardan angles... I personally have great difficulty
> convincing myself that there is a meaningful relationship between
> Euler/Cardan Angles and clinical joint angles (unless 2 out of 3 are
> zero)... In fact I feel that many of the numbers that people are looking
for
> in clinical gait analysis are meaningless when multiple Euler/Cardan
angles
> become significant simultaneously (e.g. around maximum knee flexion). What
> IS knee varus/valgus in this case? Or rotation? I do realize this has been
> discussed previously on biomchL by Grood vs. our fellow Dutchman Herman
> Woltring, so no need to repeat it here. I vote for Woltring though.
I agree. In the knee the two minor cardanic rotations are so sensitive to
the
choice of rotation order and coordinate system that they become almost
meaningless. The knee joint is definitely a case for the Woltring
representation. You still have the crosstalk problem though, if you
use Woltrings "helical angles". There is one large one and two small
ones. The small ones are sensitive to small rotations of the segment
coordinate system. A better representation would be: magnitude of the
rotation and orientation of the axis. The orientation could be
expressed as azimuth and elevation relative to a certain coordinate
frame.
Question: would you propose quaternions for clinical gait analysis?
Ton

A.J. (Ton) van den Bogert, PhD
Department of Biomedical Engineering
Cleveland Clinic Foundation
9500 Euclid Avenue (ND20)
Cleveland, OH 44195, USA
Phone/Fax: (216) 4445566/9198
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 roundoff 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 socalled 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) 8631931
Fax (202) 8630909
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 <impellus@kahuna.engineering.sdsu.edu>

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 "angleaxis 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 3D 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:13991414). Near gimbal lock,
Euler
angles
become increasingly sensitive to measuring errors.
For the newcomers on BiomchL, I also recommend reading the debate
between
Grood and Woltring, about 10 years ago on BiomchL:
http://isb.ri.ccf.org/biomchl/files/angles3d.topic
Ton van den Bogert
Department of Biomedical Engineering
Cleveland Clinic Foundation
9500 Euclid Avenue (ND20)
Cleveland, OH 44195, USA
Phone/Fax: (216) 4445566/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 <Raymond.Lee.RS@polyu.edu.hk>

> So, I gather the problem is that the clinician (or sportsman) needs
to
> interpret the results in terms of flexionextension, abadduction
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 (ND20)
Cleveland, OH 44195, USA
Phone/Fax: (216) 4445566/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. <b.a.macwilliams@m.cc.utah.edu>

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) 3928157
Fax: (352) 3927303
Email: 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 CardanBryant angle sets are XYZ, XZY, YXZ,
YZX, ZXY and ZYX where no axis repeats (anticyclic). Hence
CardanBryant 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, AddisonWesley
Denavit, J. and Hartenberg, R.S. (1955) A kinematic notation
for lower pair mechanisms based on matrices. ASME J.
Applied Mechanics, 22:215221
Grood, E.S. and Suntay, W.J. (1983) A joint coordinate
system for the clinical description of threedimensional
motions: applications to the knee. ASME J. Biomech. Eng.,
105:136144
Haug, E.J. (1989) ComputerAided 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:185210
Rooney, J. (1978) A comparison of representations of general
spatial displacement. Environment and Planning B, 5:4588
H.J. Sommer III, Ph.D., Professor of Mechanical Engineering
The Pennsylvania State University
337 Leonhard Building, University Park, PA 16802
(814)8638997 FAX (814)8659693
hjs1@psu.edu

Hi Chris:
The advantages of Quaternions were described in my presentation
in the
last 3D conference in South Africa.
The full presentation is at:
/sportsci/apasweb/presentations/capetown/demo_files
/frame.htm
Of course, the Quaternions is the way to go.
Gideon Ariel, Ph.D.
/

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 multibodysimulation 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 multibodysystems, since there is no
gimbal lock, they are well defined on the unitsphere (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 unitsphere) 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 3Dtorque 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
D72076 T"ubingen, Germany email: henze@tat.physik.unituebingen.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) 3550904 (Office)
(312) 3550902 (Laboratory)
Fax: (312) 9964583
Email: 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. 2023196247, fax 2023194287
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. 2023196247, fax 2023194287
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 BIOMCHL to LISTSERV@nic.surfnet.nl
For information and archives: http://isb.ri.ccf.org/biomchl

