Announcement

Collapse
No announcement yet.

Summary: Quaternions vs. Euler angles

Collapse
This topic is closed.
X
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Summary: Quaternions vs. Euler angles

    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
    ---------------------------------------------------------------
Working...
X