* File: ANGLES3D TOPIC
* Date: Jan 6, 1993
* Editor: Ton van den Bogert <This email address is being protected from spambots. You need JavaScript enabled to view it.;
This file contains the full text of discussions on Biomch-L between
November 1989 and March 1992 on the various methods for quantification
of 3-D joint rotations.
=========================================================================
Date: Mon, 13 Nov 89 17:27:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: Standardization in Kinematics
Dear Biomch-l readers,
Within the CAMARC project (see below), the question has been posed on how to
standardize body segment co-ordinate systems. There seem to be a variety of
these, e.g., Z is the longitudinal axis in an oblong segment like thigh, shank
or foot, X is the medio-lateral axis, and Y the anterior-posterior axis. I
would be grateful for any pointers to relevant standardization proposals in
the litterature or elsewhere, and information on how (and why!) you define
your own coordinate systems.
Related to this is the notorious question on how to define joint angles via
Cardan ("Euler") angles `a la Grood & Suntay (they defined a mechanization of a
particular Cardanic convention, with the flexion/extension axis imbedded as the
1st rotation axis in the proximal segment, the endo-/exo-rotation axis imbedded
as the 3rd axis in the distal segment, and ab-/ad-duction the `floating' axis
perpendicular to the two other axes but imbedded in neither segment. See their
paper in the Journal of Biomechanical Engineering 105(1983), 136-144 for further
details, and the Letter to the Editor by Andrews in the Journal of Biomechanics
17(1984)2, 155-158.
Alternatively, I have proposed to use the Finite Axis of Rotation which is de-
fined by a unit direction vector N (N'N = 1), and a rotation angle theta ran-
ging between 0 and 180 degrees. Taking the product theta * N we obtain a `vec-
tor' which can be used as an attitude descriptor with respect to the reference
attitude. This representation does not exhibit `gimbal lock' as does the Car-
danic convention `a la Grood & Suntay; furthermore, the three components are
completely symmetrical with respect to each other, unlike Cardanic representa-
tion. I'll be glad to send a copy of a recent paper to anyone interested.
In clinical practise, joint angulation is merely defined in the simple, `planar'
case, where two of the three components in any convention are zero. Thus, we
have the liberty to choose any definition for compound rotations (where at least
two components are non-zero) in such a fashion as to minimize disadvantageous
properties like gimbal-lock; with various manufacturers now proposing their own
standards, there is a chance that de-facto standards are created with less than
optimal properties.
Standardization is becoming an important issue now an increasing number of (cli-
nical) laboratories are beginning to pool data in order to acquire suitable
databases on normal and pathological movenent.
Apart from naming joint axes and defining rotation parametrizations, there is
the perhaps even more serious problem of how to define segment coordinate sys-
tems from anatomical landmarks. For example, the flexion-extension axis in the
femur is often said to pass through the peaks of the condyles. However, these
peaks are rather flat, so ambiguity may be the result.
Any comments, either on BIOMCH-L or directly to This email address is being protected from spambots. You need JavaScript enabled to view it. would
be most welcome.
Herman J. Woltring (CAMARC/Netherlands) <This email address is being protected from spambots. You need JavaScript enabled to view it.;
CAMARC ("Computer Aided Movement Analysis in a Rehabilitation Context") is a
project under the Advanced Informatics in Medicine action of the Commission of
the European Communities (AIM/DG XIII-F/CEC), with academic, industrial,
public-health, and independent partners from Italy, France, U.K. and The
Netherlands. Its scope is pre-competitive.
=========================================================================
Date: Fri, 17 Nov 89 18:51:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: Standardization (II)
Dear Biomch-l readers,
Among the replies received until now on my standardization query of a few days
ago, there was one with a review paper currently in print:
Goeran Selvik, Roentgen Stereophotogrammetric Analysis - A Review Article,
Acta Radiologica 31(1990), Fasc. 2.
In this paper, X is defined as the transverse axis (from the right, -, to the
left, +, of the body in the `anatomical' position), Y is the vertical axis (from
the feet, -, to the head, +), and Z is the sagittal axis (from the posterior, -,
to the anterior, +, direction). This applies equally to left, central, and
right body segments; by consequence, anatomically oriented terms such as endo-/
exorotation, ab-/adduction and medio-lateral translation in the limbs would have
opposite signs between the ipsi- and contralateral sides. As a motivation for
this choice, reference was made to M.M. Panjabi, A.A. White & R.A. Brand in the
Journal of Biomechanics 7(1974), 385 and to M. Williams & H.R. Lissner, Biome-
chanics of Human Motion, W.B. Saunders Co., Philadelphia 1962.
Furthermore, segment rotations are defined as a Cardanic convention about body-
fixed axes, in the sequence X, Y and Z from the neutral or reference attitude.
Assuming (as is the usual situation) that joint motion is defined as distal
w.r.t. proximal (in the case of the limbs, not necessarily for other parts of
the body), this results in `body-fixed' axes denoting flexion-extension in the
proximal segment and ab-/adduction in the distal segment, while endo-/exorota-
tion of the joint is defined about a `floating' axis, in the sense of Grood &
Suntay (1983). This is different from these authors' definition who chose
endo-/exorotation about a distally fixed axis, and ab-/adduction about the
`floating' axis. As indicated in a 1988 paper by Blankevoort et al. in the
Journal of Biomechanics, the numerical difference is small for typical knee
angulations. However, if one desires to standardize rotational parametriza-
tions, it might be useful to define one which can also be used for other joints
and for segment motion definitions.
Since Roentgenstereophotogrammetry is a highly advanced field of quantitative
biokinematics, its results should be carefully considered for their transfer-
ability to whole-body kinematics in gait and other forms of functional move-
ment. In the former, much interest is directed to translations as in, e.g.,
joint loosening, and less to rotations. In whole-body movement studies, it is
just the opposite, thus special attention to rotational parametrizations might
deserve even more attention than given in Selvik's work.
I would be grateful for further reactions -- Herman J. Woltring (CAMARC/NL).
=========================================================================
Date: Sun, 19 Nov 89 16:44:00 N
Reply-To: Ton van den Bogert <WWDONIC@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: Ton van den Bogert <WWDONIC@HEITUE5>;
Subject: RE: Body segment axes
Dear BIOMCH-L readers,
In last week's posting, Herman Woltring <This email address is being protected from spambots. You need JavaScript enabled to view it.>';document.getElementById('cloakf2b70cc0b9304ecbd2e5ea3df6536b01').innerHTML += ''+addy_textf2b70cc0b9304ecbd2e5ea3df6536b01+'<\/a>'; ; raised
the question of how to define body segment axes and joint rotations.
This is indeed a fundamental problem in basic as well as applied
biomechanics, which can only be solved by some sort of standardization.
My own experience on this subject comes from 2-dimensional multibody
modelling, and (to a lesser extent) from clinically oriented 3D
kinematic analysis on horses.
1. Multibody models are commonly used for (inverse) dynamic analysis of
movement, using measured kinematics as input. Usually, these models
assume hinge or ball joints between the body segments. I think that
this is the reason why in these models the 'joint centers' are often
used to define the long axis (being one of the coordinate axes) of the
segment. This definition also slightly simplifies the equations of
motion. In 3D models a second axis must be defined somehow, usually the
lateromedial axis.
Kinematic data, obtained from landmarks placed at arbitrary points on
the segments, can be used for dynamic analysis if the positions of these
points with respect to the segmental axes are known. For my 2D work, I
obtained this information from radiographs showing the 'joint centers',
as well as the kinematical landmarks (marked by steel rings).
I think this method has a few serious drawbacks:
- It relies heavily on the assumption that joints have a fixed center of
rotation, and that these points can somehow be identified.
- For 3D applications, the definitions are not sufficiently strict, and
transformation of marker data to rigid body kinematic variables
depends on marker coordinates with respect to the segmental reference
frame. It is difficult to obtain this information.
Possibly it would be wiser to define standard segment axes with help of
three well-defined points on the outside of each bone. If these axes do
not coincide with the traditional anatomical axes, this will have to be
accepted.
2. For clinical applications, it is practically inevitable to use
segment axes based on external markers. For this reason, I tend to
prefer methods of kinematic analysis that give results that are (within
certain limits) independent of marker placement. This is the best way
to ensure that data obtained from different recording sessions or
different individuals can be compared safely. In fact, this seems to be
the way most software supplied with kinematic analysis systems works.
A typical analysis method is to put two markers (proximal and distal)
on each body segment, and make sure that during the recording the
walking direction is along one of the coordinate axes (e.g. the Y-axis)
of the laboratory reference frame. Joint angles are obtained from
projections of the 'stick diagrams' on the sagittal (YZ) and frontal
(XZ) planes. Incorrect marker placement will only produce a constant
error in the angles, and it is easy to extract parameters from the
signals that are insensitive to this.
Of course, the example given above does not provide data for all six
degrees of freedom (DOF) of the body segments. In my opinion, this loss
of information is not too serious for clinical applications because the
set of kinematic variables describing human movement is by no means
independent. A more practical reason for this 2x2D approach is, that a
complete 3D analysis of, for example, the femur requires a simultaneous
view of markers on the medial and lateral condyles. The system we are
currently using (CODA-3) does not allow this, you would need a video-
based system with many cameras.
Summarizing:
- For basic research (requiring full 3D kinematic data, 6 DOF per
body segment) standard segmental axes should be adopted, based on
the same palpable bone landmarks where the markers are attached.
- In clinical biomechanics, we should only measure those variables that
are reliable and reproducible. If a 3D analysis produces less reliable
results or requires too much effort, stick to a 2D (or 2x2D) approach.
These are my own personal opinions, and I would welcome further
discussion on BIOMCH-L about this subject.
Ton van den Bogert
Dept. of Veterinary Anatomy
University of Utrecht, The Netherlands.
=========================================================================
Date: Wed, 14 Feb 90 21:43:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: Joint attitudes: a debate
Dear Biomch-L readers,
The abstract below has been accepted for presentation at the previously announ-
ced, 4th International Biomechanics Seminar in Gothenburgh/Sweden on 26 and 27
April, 1990. In view of various comments about this proposal, both from Dr
Grood in Cincinnati/Ohio and elsewhere, Ed Grood has agreed to a debate on the
pro's and con's of various 3-D joint attitude parametrizations. For the sake
of clarity, this text deviates slightly from the accepted text.
Following earlier items on Biomch-L last year, I hope that this debate may be
one of many to follow. It is for this kind of activities that an email discus-
sion list can be much more efficient than, say, Letters to the Editors in formal
journals. This is not to say that such letters are not useful; rather, they
might become the result of more interactive debates, whether at conferences,
during laboratory visits, or from behind a terminal. Ed, it's up to you, now!
Herman J. Woltring <This email address is being protected from spambots. You need JavaScript enabled to view it.>';document.getElementById('cloak99ada8ebcfd69fe73b2f58b575ddf07d').innerHTML += ''+addy_text99ada8ebcfd69fe73b2f58b575ddf07d+'<\/a>'; ;
Eindhoven, The Netherlands.
3-D ATTITUDE REPRESENTATION : A NEW STANDARDIZATION PROPOSAL (1)
Herman J. Woltring, Eindhoven, The Netherlands
Grood & Suntay (Journal of Biomechanical Engineering 1983, 136) have proposed a
`sequence independent, oblique co-ordinate system' in which the current orienta-
tion (i.e., position and attitude) is thought to be reached from a predefined
reference orientation via an ordered sequence of rotations ijk of three elemen-
tary, helical displacements a b o u t (PHI.) and a l o n g (D.) the axes i,
j, and k of an electrogoniometric linkage system. The terminal axes i and k
are imbedded in the body segments comprising the joint, and they are identical
to prior selected, Cartesian co-ordinate axes defined in these segments; the
intermediate or `floating' axis j is normal to the two imbedded axes, and iden-
tical to the `line of nodes' in classical handbook descriptions of Euler/Cardan
angles.
Although t e m p o r a l sequence dependency of Cardan/Eulerian rotation
conventions is avoided in such predefined electrogoniometric systems, a similar
effect is now imposed by the g e o m e t r i c a l choice of imbedded and
floating axes. Thus, different numerical results may be obtained for current
joint attitudes (given identical segment co-ordinate systems), and adverse
effects such as g i m b a l - l o c k (i.e., for some PHIj, either the sum
or the difference of PHIi and PHIk is undefined) and C o d m a n ' s P a r a -
d o x (i.e., both {PHIi,PHIj,PHIk} and {PHIi+PI,PI-PHIj,PHIk+PI} (N.B.: -PI
works also) are valid solutions; cf. A.E. Codman, The Shoulder, Boston 1934)
continue to occur.
Instead of defining joint orientation or movement in terms of an ordered
sequence of three helical displacements, it seems more appropriate to view
the current orientation in terms of a s i n g l e helical displacement,
to be decomposed into orthogonal components in either body segment's co-ordi-
nate system which, apart from a sign inversion, appear to be identical. For
attitude representation (position representation is more complicated), one
can define an attitude `vector' THETA = theta * N, where N is the unit direction
vector about which the helical, scalar rotation theta occurs. This vector
THETA, while not a true vector as rotations are not additive, is symmetrical
in its three components and not affected by gimbal-lock or Codman's Paradox.
Unlike N, THETA is well-determined from noisy measurements even for small theta.
A further advantage is that the helical representation corresponds approximately
with the mean value of all valid, Cardanic representations once Codman's Paradox
is accounted for.
(1) This is a paper under the CAMARC project. CAMARC, for "Computer Aided
Movement Analysis in a Rehabilitation Context", is a project under the Advanced
Informatics in Medicine action of the Commission of the European Communities,
XIII-F/CEC), with academic, public-health, industrial, and independent partners
from Italy, France, U.K. and The Netherlands. Its scope is pre-competitive.
=========================================================================
Date: Sat, 17 Feb 90 12:27:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: Joint Attitude Debate: First Response
Dear Biomch-L Readers,
I appreciate Dr. Herman Woltring's invitation to debate his proposal for
standardization of 3-D joint attitude representation. In this first response
I have three goals. These are: a) to outline my current position on Herman's
proposal; b) to address the common misconceptions about sequence dependency
of finite rotations, and c) to stimulate thought and discussion about the
description of particle displacements and how the principles used are applied
to the description of rigid body displacements.
My Current Position
Let me start with the area of agreement. I completely accept Dr. Woltring's
proposal for the use of the helical axis to describe joint attitude and
rotational displacement. The helical axis has the important characteristic
that the magnitude of the rotation and translation are independent of the
coordinate system chosen. The analogy to particle displacement is clear,
the magnitude of the total displacement vector is also independent of the
coordinate system chosen.
Now the area of disagreement. Herman has proposed the helical displacement
be decomposed into orthogonal components in either body segment's coordinate
system. This produces six components, three for translation and three for
rotation. I believe this is not fully satisfactory for describing joint
translation and incorrect for the joint rotation components. It is my
position that the proper joint rotation components are those describe by
Fred Suntay and I. My reasons for this will become apparent in the course of
the debate.
Misconceptions
Herman and many others refer to the rotations Fred and I described as being
an "ordered sequence of rotations". I would agree they are an ordered triple,
just like the orthogonal components of particle displacement are an ordered
triple. I disagree with the terminology "ordered sequence" because the
final displacement is not dependent upon the sequence the rotations are
performed. Am I missing some other meaning of this phrase?
There is a general, and incorrect, belief that finite three dimensional
rotations are sequence dependent. This is not surprising as almost every
text on the subject gives the example of a book rotated using two different
sequences resulting in two different final positions. This example is passed
along without any careful analysis of what is actually happening.
The basic problem with the book example is the three axes used are those of
an orthogonal coordinate system located in one of the body segments. While
such axes do define independent translational degrees-of-freedom (dof),
they do not define independent rotational dof. The independent rotational
degrees-of-freedom are those Herman referred to: a fixed axis in each body
segment and their common perpendicular. The orientation of the fixed axes
are chosen for convenience. This is similar to selecting an appropriate
orthogonal system for describing particle displacements.
To better understand the origin of the sequence dependency I will give a
similar example for particle displacement. It starts by first specifying
the displacements (x,y,z) without specifying the three independent dof.
Next, perform the displacements along the axes of any orthogonal
coordinate system and note its final location. Third change the orientation
of the orthogonal coordinate system. We still have three independent
dof but the directions have a different physical significance. Now
perform the three component displacements in any sequence. The final
position is clearly not the same as before. The problem is not that particle
displacements are sequence dependent, it's that we changed the independent
dof used.
Independent Rotational Degrees-of-Freedom
At the risk of being unnecessarily redundant I will again describe an
appropriate set of independent rotation axes. First locate two body fixed
axes, one in each body segment. These axes are selected so that rotation
about them is a motion of interest. The third rotation axis is the common
perpendicular to the two body fixed axes. The three angles which define the
orientation were described in the paper with Fred Suntay. Briefly, they
are:
1. The rotation about the common perpendicular axis is given by the
angle between the two body fixed axes.
2. The rotation about each body fixed axis is given by the angle
between the common perpendicular and a reference line located
in the same body as the fixed axis. It is convenient to
select the reference line so it is also perpendicular to the
body fixed axis. In this way the body fixed axes are normal
to the plane which contains both the reference line and the
common perpendicular axis.
In closing this first round of the debate I will state the primary reasons
for using the system we proposed as the components of the helical rotation.
1. They are independent components.
2. They add (in a screw sense) to the total helical rotation.
3. They correspond to common clinical descriptions of joint
rotation.
4. They are easy to compute from the rotation matrix and have a
well defined mathematical relationship with the total helical
rotation.
Edward S. Grood <This email address is being protected from spambots. You need JavaScript enabled to view it.>';document.getElementById('cloakcfa183d7bf8b35f6be7c95f94ef9d770').innerHTML += ''+addy_textcfa183d7bf8b35f6be7c95f94ef9d770+'<\/a>'; ;
Cincinnati, Ohio, USA
=========================================================================
Date: Mon, 19 Feb 90 22:01:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: About vectors and matrices: round #2
THE CURIOUS INCIDENT OF THE VECTORIAL TRIBE
It is rumoured that there once was a tribe of Indians who believed that
arrows are vectors. To shoot a deer due northeast, they did not aim an arrow
in the northeasterly direction; they sent two arrows simultaneously, one due
north and one due east, relying on the powerful resultant of the two arrows
to kill the deer.
Skeptical scientists have doubted the truth of this rumour, pointing out
that not the slightest trace of the tribe has ever been found. But the complete
disappearance of the tribe through starvation is precisely what one would ex-
pect under the circumstances; and since the theory that the tribe existed con-
firms two such diverse things as the NONVECTORIAL BEHAVIOR OF ARROWS and the
DARWINIAN PRINCIPLE OF NATURAL SELECTION, it is surely not a theory to be
dismissed lightly.
A. Banesh Hoffmann, About Vectors. Prentice-Hall, New Jersey 1966;
Dover, New York 1975, pp. 11-12.
Dear Biomch-L readers,
Ed Grood's reply of last Saturday is to be commended, and I'll address his
points more-or-less in the (time, first-last, top-bottom) sequence provided
by him.
1. `Current position':
While the (finite) helical axis has the usuful property of defining total dis-
placement (translation and rotation) between two orientations, where one can be
a reference orientation, and the other a current or actual orientation, this
does not preclude its utility for other purposes. The beguiling analogy between
rigid-body and point displacements will be discussed below.
I don't think that I proposed to decompose helical movement into s i x compo-
nents, with three orthogonal translation/position, and three orthogonal transla-
tion/attitude components. In the context of the current debate, my main focus
is on attitude/rotation parametrization as apparent from the original title. I
agree that position description is somewhat awkward under the helical approach
(as defined by the position of the helical axis, i.e., of some point on it re-
quiring 2 d.o.f.'s, and of the amount of translation along the helical axis when
moving from the reference to the current orientation, requiring 1 more d.o.f.),
but I disagree that the helical decomposition is incorrect for joint (or seg-
ment) attitude/rotation. While the G&S convention is useful, I would disagree
that it is the best (or, for truely 3-D joint rotation as in hip and shoulder,
even a good convention). Actually, position/translation description is also
awkward under the G&S approach since gimbal-lock affects both the rotational
a n d the translational parametrizations in that model... As said in the 14
Feb posting, gimbal-lock does not exist under the helical convention, and Ed
has not yet commented that point.
2. `Misconceptions and verbal ambiguities':
It seems that the confusion (including the wording in my 14 Feb posting) exists
between two different kinds of `sequence effects':
(a) Sequences in a `geometrical, top-down, or left-right' sense, as
in the matrix product Ri(PHIi)*Rj(PHIj)*Rk(PHIk)
or in the vector sum Xi( Di )+Xj( Dj )+Xk( Dk ),
(b) Sequences in a temporal sense, where the variables PHI. and D. in the above
expressions are changed from their reference values (zero) to the final
values that describe the current or actual orientation.
Different sequences under (a) are
Ri(PHIi)*Rj(PHIj)*Rk(PHIk) and Rk(PHIk)*Ri(PHIi)*Rj(PHIj), or
Xi( Di )+Xj( Dj )+Xk( Dk ) and Xk( Dk )+Xi( Di )+Xj( Dj ).
Now, the important point is that matrix multiplication is non-commutative, that
is, the resulting matrix products are generally n o t identical, while vector
addition i s commutative, that is, the vector sums are always identical.
One particular t i m e - sequence in the sense of (b) is:
Start: Ri( 0 )*Rj( 0 )*Rk( 0 ), Xi( 0)+Xj( 0)+Xk( 0)
1st displacement: Ri(PHIi)*Rj( 0 )*Rk( 0 ), Xi(Di)+Xj( 0)+Xk( 0)
2nd displacement: Ri(PHIi)*Rj(PHIj)*Rk( 0 ), Xi(Di)+Xj(Dj)+Xk( 0)
3rd displacement: Ri(PHIi)*Rj(PHIj)*Rk(PHIk), Xi(Di)+Xj(Dj)+Xk(Dk)
and a different t i m e - sequence is:
Start: Ri( 0 )*Rj( 0 )*Rk( 0 ), Xi( 0)+Xj( 0)+Xk( 0)
1st displacement: Ri( 0 )*Rj( 0 )*Rk(PHIk), Xi( 0)+Xj( 0)+Xk(Dk)
2nd displacement: Ri( 0 )*Rj(PHIj)*Rk(PHIk), Xi( 0)+Xj(Dj)+Xk(Dk)
3rd displacement: Ri(PHIi)*Rj(PHIj)*Rk(PHIk), Xi(Di)+Xj(Dj)+Xk(Dk)
Here, initial and final orientations are identical, buth the displacement
occurs (or is thought to occur) along a different p a t h.
The G&S approach imposes one particular sequence in the sense of (a), and
then proceeds by declaring it sequence-independent in the sense of (b). The
standard handbooks, however, interpret the term s e q u e n c e in the sense
of (a)... [The many Dutch readers on the list will undoubtedly recall the
recent parliamentory debate on `Social Innovation', where a highly ranking
civil servant gave four completely different explanations of the meaning of
that term.]
I believe that the major motivation underlying the G&S approach -- or, for that
matter, of any approach in terms of Cardanic/Eulerian rotations -- is to try
and mimick the p a t h properties of vectorial movement. If I decompose a
position or translation in terms of components X, Y, and Z, I may reach the
position (X,Y,Z)' from the reference position (0,0,0)' by sequence-independent
steps in the (b) sense above, but a l s o by sequence-independent steps in
the (a) sense above. For rotations, this is n o t the case, as I can only
have a sequence-independence in the (b) sense above. In the linkage-terminology
of the G&S approach: if the linkage is made to merely allow translations along
the linkage's axes, but no rotations about them, the choice of which axes are
to be the imbedded ones and which are to be the floating ones is irrelevant,
and has no influence on the amount of translation along each (permutated) axis.
For rotations, this sequence-independence in the (a) sense does not apply.
While it may be attractive to have an attitude parametrization that has the
physical property of path description, this property is in no way necessary
for the attitude parametrization goal. In fact, the imposition of this desire
entails a number of awkward side-effects such as gimbal-lock and Codman's para-
dox. Using a simple, while not exact analogon: while I may elect to travel
from Eindhoven to Cincinnati by first moving south (or north, via the North
Pole) until I reach the equator, thence west (or east) until I am due south of
Cincinnati, and finally north (or south, via the South Pole) until I can join
Ed for a drink, this does not imply that this is an elegant way to describe
Ed's position with respect to me.
The helical decomposition results in three orthogonal components that generally
do n o t have path description properties. If two of the three components are
zero, however, the single remaining non-zero term has a path describing nature.
While this may be regrettable, I am really not interested in thinking how to get
from some neutral hip or shoulder attitude to a complex, possibly pathological
one, in terms of elementary rotations about some anatomically or technically
defined co-ordinate axes, but only in a unique, well-behaved, minimally singular
parametrization; I think that the helical decomposition meets these requirements
quite well.
Current clinical practise is more-or-less in agreement on how to define pure
flexion-extension, pure ab-adduction, and pure endo-exorotation; such agreement
does, at this time, not exist when these elementary (`planar') rotations occur
simultaneously. Thus, we have the freedom to choose that particular convention
which corresponds with the already established, special cases (the G&S approach,
all other Cardanic conventions, and the helical approach meet that condition),
a n d which is best behaved in the complex, 3-D case.
Summarizing:
Both the G&S and the helical approach exhibit three `independent' components
except for the singular cases of gimbal-lock; in the helical approach, the com-
ponents are mutually orthogonal but do not have trajectory properties, and the
three axes are symmmetrical with respect to each other, without preferred `body-
fixed' and `floating' axes; in the G&S approach, the opposite is the case. I
believe that the balance is in favour of the proposed, helical standard, but it
is up to the relevant community to accept or reject such a proposal.
Herman J. Woltring <This email address is being protected from spambots. You need JavaScript enabled to view it. or .bitnet, This email address is being protected from spambots. You need JavaScript enabled to view it.;,
Eindhoven, The Netherlands.
=========================================================================
Date: Thu, 22 Feb 90 12:40:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: joint attitude math & s/w
Dear Biomch-L readers,
Some readers on the list have shown interest in the mathematics and programming
details underlying the current joint attitude parametrization debate. For this
purpose, I'd like to refer them to a test package PRP FORTRAN which is available
to the readership by sending the request
SEND PRP FORTRAN BIOMCH-L
to This email address is being protected from spambots. You need JavaScript enabled to view it. (or .BITNET); the request should be sent from the address
at which the Biomch-L listserver knows the requester. A FORTRAN-77 package is
then returned which accomodates all possible Cardanic conventions and the
proposed helical convention. While the PRP package was written for use under a
VAX/VMS system, only a few I/O statements in the package's testprogramme may
have to be modified for use in different environments.
Basically, the relation between a 3*3 orthonormal matrix Rijk (with |Rijk| = +1)
and the selected Cardanic angles can be described as follows:
Let Rijk = Ri(PHIi) * Rj(PHIj) * Rk(PHIk), where PHIi, PHIj, and PHIk denote
`planar' rotations, in the right-handed sense, about selected axes of a Carte-
sian co-ordinate system (1: x-axis, 2: y-axis, 3: z-axis). Defining ijk as
cyclic (i.e., 123, 231, or 312), the elements of Ri(PHIi) are defined as
rii = 1; rij = rji = rik = rki = 0
rjj = rkk = cos(PHIi); rkj = -rjk = sin(PHIi)
whence the elements r.. of Rijk can be expressed as:
rkj + rji = {1 + sin(PHIj)} sin(PHIi + PHIk)
rjj - rki = {1 + sin(PHIj)} cos(PHIi + PHIk)
rkj - rji = {1 - sin(PHIj)} sin(PHIi - PHIk)
rjj + rki = {1 - sin(PHIj)} cos(PHIi - PHIk)
This yields two unique pairs -- as per Codman's Paradox -- for PHIi and PHIk
unless |PHIj| = PI/2 -- gimbal-lock; in the latter case, two of the four rela-
tions above are zero. Note that all angles are modulo 2*PI. Given the choosen
PHIi and PHIk, PHIj can be derived from
rik = sin(PHIj)
{rii cos(PHIk) + rkk cos(PHIi)} - {rij sin(PHIk) + rjk sin(PHIi)} = cos(PHIj)
If ijk is anti-cyclic, i.e., 321, 213 or 132, the cyclic case can be obtained
via the intermediate transformation
Rijk(PHIi,PHIj,PHIk) = Rkji(-PHIk,-PHIj,-PHIi)'
Note that for other ijk, i.e., i=k, the n e u t r a l attitude corresponds to
gimbal-lock, with either PHIi + PHIk or PHIi - PHIk undefined. Interestingly,
Leonhard Euler's original publication `De Immutatione Coordinatarum, Caput IV,
Appendix de Superficiebus' in his `Introductio in Analysin Infinitorum' (Lausan-
ne, France 1748) provides such a case.
For the helical convention, the following formulae apply:
(Rijk - Rijk')/2 = sin(theta) A(N)
(Rijk + Rijk')/2 = cos(theta) I + {1-cos(theta)} N N'
THETA = theta N, N = (n1,n2,n3)', |N| = 1.
where A(N) is a skew-symmetric matrix with elements aji = -aij = nk and akk = 0,
for cyclic ijk. This system has a unique solution for 0 < theta < PI. If theta
= 0, no solution exists for N, but THETA is zero; for theta = PI, there are two
solutions, one THETA, the other -THETA, as one would expect for any periodic
solution modulo 2*PI.
Those who are interested in written material may get in touch with me directly,
and I'll be glad to send a mathematically oriented paper presented during a
1989 CAMARC Workshop on Clinical Protocols in Ancona/Italy.
Regards -- Herman J. Woltring, tel & fax +31.40.41 37 44
<This email address is being protected from spambots. You need JavaScript enabled to view it. (or .bitnet)>
=========================================================================
Date: Sun, 25 Feb 90 16:09:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: Debate: Are rotation components screws or vectors?
Excerpt From "A Dynamic Parable"
"Mr. Cartesian was very unhappy. ... He had an invincible attachment to the
x,y,z, which he regarded as the "ne plus ultra" of dynamics. `Why will you
burden the science,' he sighs, `with all these additional names? Can you not
express what you want without talking about ... twists, and wrenches, ...
instantaneous screws, and all the rest of it?' `No,' said Mr. One-to-One,
`there can be no simpler way of stating the results than the natural method
we have followed. ... "We are dealing with questions of perfect generality,
and it would involve a sacrifice of generality were we to speak of the
movement of a body except as a twist, or a system of forces except as a
wrench.'"
Ball, R.S., 1900, "A Treatise on the Theory of Screws"
Cambridge University Press
I suppose in a debate one good parable deserves another. Hoffman's parable
on arrows is quite appropriate and its point (pun intended) supports my
position. Rigid body rotations, like arrows, are not vectors. Rotations,
but not arrows, are, as Ball states, twists (ie. screws or helices). My
objection to your proposal, Herman, is that you want to decompose a screw as
if it were a vector. The resulting components might be independent in the
vector sense, but they are not independent rotations. You can not obtain the
total rotation by performing the three component rotations obtained this way.
Is it possible I'm a stronger supporter of the screw axis than you? I
believe the component rotations must also be screws and follow the rules of
screw addition to produce the total screw. Here, again, I make an analogy
to the simpler case of particle displacements. The total displacement is a
vector, the components are vectors and follow the rules of vector addition
to produce the total displacement.
You referred to my analogies as beguiling, which Webster defines as "to lead
by deception". Am I deceptive when I teach my students they must specify the
independent coordinates (ie. establish the coordinate system) they plan to
use prior to solving a problem in particle kinematics? I think not. Nor is
it deceptive for me to argue the same practice for the description of rigid
body motions.
For both particle displacements and rigid body rotations the independent
degrees of freedom are specified using lines (or axes). In both cases one
degree-of-freedom is obtained by the cross-product of unit vectors along the
other two degrees-of-freedom. For particle displacements the three axes so
formed are mutually orthogonal and are either fixed to a point on the path
(path coordinates) or to a stationary system the motion is referred to. For
rigid body rotations one axis is fixed to each of the bodies whose relative
rotation are to be described and the third axis is there mutual
perpendicular.
It still surprises me that so little attention is paid to the physical axes
that correspond to the rotational degrees-of-freedom while so much attention
is paid to the axis used for particle displacements.
Your program PRP is a nice way to examine the differences between the various
Euler/Cardanic systems. I recommend the following question be asked whenever
it is used, "What physical axes correspond to the independent degrees-of-
freedom for each of the systems?" The limitations of electronic mail prevent
me showing figures. However, the figure in Goldstein's book "Classical
Mechanics" which is used to show the angles is excellent for this purposes.
All you need to do is also focus on the axes the rotations are performed
about. These axes are clearly shown in the figure and are perpendicular to
the plane of the rotation
I will try to describe the figure in words for those who do not have a copy
of the figure readily available. I will also mail a copy to any who send an
Email request to "This email address is being protected from spambots. You need JavaScript enabled to view it.". This figure shows two circular
planes which intersect along a common diameter. The normals to each plane
and the line formed by the intersection of the planes (line of nodes) are the
three axes which define the three independent degrees-of-freedom. In this
figure, one plane and its normal are in the fixed system while the other
plane and normal are in the moving system. The magnitude of the rotations
preformed about the body fixed axes are the angle between the line of nodes
and reference lines located in the plane of rotation for each body. The
reference lines are attached to the body and move with the rotation. The
rotation about the line of nodes is given by the angle between the two body
fixed axes.
The different Euler/Cardanic systems correspond to different orientations of
the planes in the fixed and moving bodies (ie. to different sets of three
independent degrees-of freedom). All of the different systems have the path
descriptive properties that you discussed in you last response.
Analogy time again. The different orientations of the planes produced by the
various Euler\Cardanic systems is equivalent to specifying different
Cartesian coordinate systems to characterize particle displacements. The
particle displacement produced by an x,y,z triple is invariant to changes in
sequence only when the same set of axes are always employed. It is not
invariant when both the sequence of the component displacements and the
orientation of the Cartesian system change.
The fact that each Euler/Cardanic system produce a different set of
independent coordinates is reflected by the fact that each set is acceptable
for use as generalized coordinates in writing the Lagrangian (or Hamiltonian)
for 3-D dynamical problems. Such generalized coordinates must have the
property of being independent. The solution of a single problem with
different conventions will produce different, but equivalent, descriptions
of the same motion. This is exactly what happens when a problem in particle
kinematics is solved using Cartesian systems with different orientations.
Having spent a lot of time on the important fundamentals of our disagreement,
I will only briefly address the issues of gimbal lock and Codman's paradox.
Gimbal lock is not a serious problem and only happens when the two body fixed
axes are both parallel and co-linear. This is a rare occurrence for
biological joints and can be easily avoided when analyzing experimental data.
If the presence of a singularity in an equation were reason to reject an
approach we would have to throw out a lot of good physics and mathematics.
Use of the total helical axis alone solves the problem by refusing to look
at the component rotations. Using the vector components of the helical axis
to describe the motion does not provide a set of rotations that yield the
total helical axis when the rotations are performed.
Codman's paradox, which you cite as an argument against my point a view I
cite as an argument for my point of view. The paradox exists independent of
how the motion is described. I like to express the paradox as follows. Why
does an abduction of the shoulder by 180 degrees followed by an extension of
180 degrees result in no net abduction or extension, but an external rotation
of 180 degrees instead? I propose the value of a system be judged by its
ability to explain the paradox.
If the system proposed by Fred Suntay and I for the knee is applied to the
shoulder the following explanation can be deduced. First I specify the
degrees-of-freedom for a right arm. The flexion axis is embedded in the
glenoid and points away from the body (unit vector e1). The internal
rotation axis is in the humerus and points proximally when the arm is by your
side (unit vector e3). The orientation of the abduction axis is obtained by
the cross-product of unit vectors along the flexion and internal rotation
axes, e2 = e1 x e3 / magnitude(e1 x e3) . The sense of the abduction axis
is obtained from the right hand rule and by taking the cross-product from the
flexion to the internal rotation axis. With the arm at your side it points
posteriorly. The sense of the abduction axis is also given by the sine of
the angle alpha between the flexion and internal rotation axes through the
standard formula for the cross-product of two vectors. At the starting
position alpha is 90 degrees and the sin(90)=+1.
The first part of Codman's path is an abduction of 180 degrees. The arm goes
from being at your side (palm toward the body) to straight overhead (palm
away from the body). As the shoulder is abducted the angle alpha increases
from its initial value of 90 degrees. As the arm passes through the 90
degree abduction position (arm straight out with palm down) alpha becomes
greater than 180 degrees, the sin(alpha) becomes negative, and there is a
reversal in the sense of the abduction axis which now points anteriorly.
Since the sense of the abduction axis is reversed, motion of the arm from the
90 degree abducted position to the straight overhead position is actually an
adduction of 90 degrees that takes the net adduction back to zero.
The sense reversal of the abduction axis also affects both flexion and
internal rotation. Since the abduction axis is a reference line for both
motions a change in its sense changes both motions by 180 degrees. (This can
be seen by changing the direction of either of a pair of lines that forms any
angle.) No net displacement of the arm occurs when this happens because the
flexion and internal rotation axes are parallel and the corresponding
physcial rotations are in opposite directions. Because the axis have
opposite sense, internal rotation points toward the body and flexion away,
the signs of the rotations are the same. Both decrease and the arm becomes
extended and externally rotated by 180 degrees in addition to the 90 degrees
abduction. As the arm is raised to the overhead position, abduction returns
to 0 leaving the arm in a position of 180 degrees extension and 180 degrees
external rotation. The 180 degrees of flexion which return the arm to the
side of the body reduce the net flexion to zero leaving only the 180 degrees
of external rotation. Thus the angles of the system I support predict the
net result of motion along Codman's path and therefore explain the paradox.
I will leave it as a mental exercise to show that at the end of the motion
the abduction axis points posteriorly as it did at the start of the motion.
Hint: The abduction axis is always perpendicular to both the flexion and
internal rotation axes because it is formed by cross-product of unit vectors
along these axes.
What always amazes me about the above explanation is the apparent
mathematical quirk which occurs when the abduction axis changes sense is
actually expressed by the physical motion of the arm.
Summarizing:
1. I support the use of the helical (screw) axis to describe the
rotational motions between body segments.
2. I believe the proper component rotations are also screws and can not be
expressed as vector like the arrows in Hoffman's tale. To quote Ball
"We are dealing with questions of perfect generality, and it would
involve a sacrifice of generality were we to speak of the movement of
a body except as a twist, or a system of forces except as a wrench."
3. I do not believe the existence of gimbal lock is a serious problem.
4. Codman's paradox can be easily explained by the use of the component
screw approach I support.
Herman, I also agree with you it is now time to hear from the community.
Edward S. Grood
This email address is being protected from spambots. You need JavaScript enabled to view it.
Noyes-Giannestras Biomechanics Laboratories
University of Cincinnati
2900 Reading Rd.
Cincinnati, OH USA 45221-0048
=========================================================================
Date: Mon, 26 Feb 90 18:01:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: Joint attitudes: (final?) round 3.
"I don't know what you mean by `glory'," Alice said. Humpty Dumpty smiled con-
temptuously. "Of course you don't know - till I tell you. I meant `there's a
nice knock-down argument for you!'." "But `glory' doesn't mean `a nice knock-
down argument'," Alice objected. "When I use a word," Humpty Dumpty said in a
rather scornful tone, "it means just what I choose it to mean - neither more
nor less." "The question is," said Alice, "whether you can make words mean so
many different things." "The question is," said Humpty Dumpty, "which is to be
master - that's all."
Lewis Carrol (1872), Through
the Looking Glass, Chapter VI.
Dear Biomch-L readers,
If we substitute `independent' or `commutative' for `glory,' there's not much
new under the sun.
(a) Commutation. In mathematics, c o m m u t a t i v i t y stands for the
property (a o b) = (b o a) of a binary operation (a o b), for all valid a
and b, where a and b are the entities upon which the binary operation
o performs its function (e.g., +, -, *, /).
If a and b are scalars or vectors, + and - are commutative operators,
whereas - (and, for scalars, /) are not. If a and b are matrices, + is
commutative while - and * are not; furthermore, / is generally undefined,
although one may define certain classes of operations that more-or-less
correspond to scalar division.
(b) If a and b are functions of certain scalar parameters, say a1 and b1,
respectively, the t e m p o r a l `commutation' as originally envisaged
by Ed Grood and others [e.g., Bernard Roth, Finite Position Theory Applied
to Mechanism Design, Journal of Applied Mechanics, Sept. 1967, p. 600, left
column], is nothing else but the temporal order in which these parameters
are changed from their reference values (zero or one, usually) to their
final or current settings. This has nothing to do with mathematical com-
mutativity, as proposed in one of my previous postings in this debate, nor
with `similarity of matrices,' as Roth would have it.
(c) Independence. I don't know what Ed means with `independent'. From a sta-
tistical point of view, dependence and correlation of error sources are
important when we are close to or at gimbal-lock. Using the formulae in
Woltring et al, J. of Biomechanics 1985 on the Finite Helical Axis and
Finite Centroid, in combination with formulae (2.32) in J. Wittenburg,
Dynamics of Rigid Bodies (B.G. Teubner, Stuttgart/FRG, 1977), the `radial
s.d.' or root-sum-of-squares of the s.d.'s for the three Cardanic angles
is a function of PHIj due to the PHIj-dependent correlation between the
SIGMA. errors, and can be derived as
SIGMA(PHIj) = sqrt[SIGMAi**2 + SIGMAj**2 + SIGMAk**2]
:= SIGMA(PHIj=0) * sqrt[{1 + 2/cos(PHIj)**2}/3]
As before, PHIj denotes rotation anbout the floating axis, with gimbal-lock
when |PHIj| = PI/2. If PHIj is close to gimbal-lock, SIGMA is much larger
than when PHIj = 0 degrees. The closer we approach the gimbal-lock situa-
tion, more erratic the calculated angles become. If a physician wishes to
interpret joint angle graphs for hip or shoulder, e.g., in complex sportive
movement, these adverse effects should preferably be avoided.
(d) The utility of `orthogonal attitude components' is even more apparent once
we become interested in both kinematics and kinetics. Positions and
translational and rotational velocities, accelerations, forces, and moments
are all vectors, only attitudes are not. Should we really decompose all
these vectorial entities in terms of the non-vectorial behaviour of rota-
tions/attitudes? I think that it is much better to try and find a rota-
tional representation which maximally approaches the vectorial properties
of these other, biomechanically highly relevant entities. Again, I see
no reason why we should impose or require trajectorial properties for our
attitude parametrizations.
Given the fact that there are different, Cardanic commutations, and the con-
comitant asymmetries between the `floating' and `imbedded' axes (i.e., the
floating axis follows from the vector product of the two imbedded ones, while
neither imbedded axes is generally derivable as the vector product of the two
other axes), I think that a symmetric representation like the helical decompo-
sition continues to be a better candidate.
After Ed's reply to this 3rd round, I believe that the debate should be
suspended --- unless others on the list wish to enlighten (or to confuse) the
readership with their views. At any rate, I have been enjoying the exchange
of views, and it will certainly help me in preparing a somewhat more formal
presentation on this issue in April at, I hope, both sides of the Atlantic.
If Ed should finally agree with me, I would be delighted to ask him as a co-
author ...
Herman J. Woltring <tel & fax +31.40.41 37 44>
Research Associate <This email address is being protected from spambots. You need JavaScript enabled to view it. (or .bitnet)>,
Eindhoven University of Technology, The Netherlands.
=========================================================================
Date: Wed, 28 Feb 90 11:49:00 EDT
Reply-To: MEGLAN%This email address is being protected from spambots. You need JavaScript enabled to view it.
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: MEGLAN%This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Joint Orientation, the saga continues... or won't die at least
I guess it's about time that someone besides Herman and Ed commented on
the method of describing the 3D orientation of the body segments relative
to one another.
In the recent complete rewrite of the analysis and display
software for the gait lab here at Ohio State University, I included both
the Grood & Suntay description, which I refer to as the Joint Coordinate
System (JCS), of the joint rotations as well as the standard Pitch-Roll-Yaw
(PRY) euler angles plus calculation of the finite screw across the joint
(the position and orientation of the segments is known in 3D using the marker
position data) using several different algorithms. In addition, the rotation
about the screw axis can be described using Herman's concept of attitude angles
(basically multiply the direction vector of the screw axis by the magnitude of
the rotation about the axis to form a scaled vector) in terms of the proximal
segment local coordinate system (LCS), distal segment LCS, or the JCS. All
these different methods are included because I wanted to compare them on
actual experimentally acquired data plus since there is no standardization at
the moment I decided to use the shotgun approach and try to cover the majority
of the possible orientation description methods.
I did a poster on some of the results for the recent Orthopaedic Research
Society meeting in New Orleans. Interestingly, Murali Kadaba had a poster
right across the aisle which dealt with finite screws also. Basically, the
results using multiple trials of normal subject gait data (we use a marker set
consisting of 21 markers total for the upper and lower body with 3 markers on
most segments) show that for sagittal plane joint angles there really is no
statistically siginificant difference between any of the two rotation angle or
three attitude 1angle schemes used. This was true for all the joints of the
lower body as well as the pelvis, whose angle is not a relative angle but
instead is calculated relative to the global lab coordinate system (GCS). In
the out of plane angles (ab/adduction, in/external, pro/supination, in/eversion)
there were significant differences primarily for the ab/aduction and in/eversion
angles. These differences increase with the magnitude of the flexion angle
which not surprising. The interesting point however is that the attitude
angles are significantly different so the coordinate system in which they are
expressed is critical. Also, the attitude angles expressed in terms of the
JCS were different from the angles calculated with the JCS rotation angle
method.
Based upon these results, plus various other experiments which I have tried
out, it would seem that while the calculation method, i.e. rotation angles or
attitude angles, is important, the coordinate system used to express the
attitude angles is just as important. Which leads to the obvious point that
the positioning of these segment LCS's will have a critical effect upon the
calculated joint angles. I did some perturbation experiments to look at the
sensitivity of the calculated joint angles to slight changes in the orientation
of either or both of the segment LCS's used as input data for the angle
calculation. Each perturbation had some effect upon one or more of the
calculated angles- not surprising. The effects are widely varying however and
it is a relevant concern to identify those effects which are going to most
readily occur with a given marker set and motion system configuration. Even
rigid bodies with more than 3 markers attached to the body segment are
sensitive to this problem since it is difficult to control the position/
orientation of the marker carrier relative to the underlying bones with
accuracy and consistency. This is getting a little of track of the discussion
focusing on rotation angles and finite screw attitude angles... Oh well, I
guess we all have our soap box on one issue or another :-)
At this point, I am inclined to go with the finite screw attitude angle
technique expressed relative to the JCS axes except for the shoulder whose
angles I feel are more properly represented by a spherical angle system. This
was used by Andy An from the Mayo Clinic in a paper at the ORS. I personally
think that the singularity issue ('gimbal lock' if you insist) for the JCS is
theoretically relevant but not really in practice. True, as Herman pointed out,
as the joint approaches this orientation the angles can become inconsistant due
to the fact that both the numerator and denominator of the inverse tangent
approach zero and thus noise in the input data will have a more significant
effect.
But this situation can be detected and corrected numerically (I did just such a
thing until I decided to switch to the spherical system- basically you just
monitor the magnitudes of both numerator and denominator of the inverse tangent
and when they both go below a predetermined threshold, you skip the angle
calculations for that frame of data and then go back later and interpolate the
missing angle back in. It's a kludge but it worked nicely for our situation...)
The finite screw is more proper representation of the actual motion process
occuring in the joint. I.e., the joint is actually rotating about some line in
space not some arbitrarily selected coordinate axes. Unfortunately, this line
of reasoning falls apart when you try to express the screw in more clincally
oriented terms since it must be expressed relative to just such a set of axes
as in the case of the attitude angles concept. I don't think that using either
the proximal or distal LCS as the base for expressing the attitude angles is a
good idea because even though the system axes will orthogonal and hence will
never be singular, the angles are physically meaningful to the clinician. They
are valid descriptors of the joint orientation but since eventually the data is
to be used by a phsycian to make a clinical decision, at least here that is the
case, the data should be in a form with which they are familiar. The JCS axes
pretty much align with the way that the orthopaedist describes/visualizes joint
orientation. There is the singularity problem but that cannot physically occur
in any major extremity joint except the shoulder unless there is a very severe
pathology present.
Even though the screw does represent full 6 DOF motion, if only the attitude
angle representation is desired then the rotation matrix relating the segment
orientations is all that is required since this calculation is a subpart of the
full finite screw calculation. This calculation, I might add, is no more
computational difficult than the standard technique of extracting rotaion
angles from the rotation matrix.
As an aside, the numerical method by which the screw is calculated is
significant as to its sensitivity to noise in the input data. The input data
consists of the position and orientation of one rigid body relative to another
in 3D. This data has noise within it as result of the resolution of the system
used to measure the position/orientation and its method of measuring. We have
used both VICON based marker measuring as well as a 6DOF spatial linkage
designed and built here to collect this information. I have done some
experiments using data from these using the algorithm given in Herman's papers,
which I believe is more or less the same as that of Spoor-Veldpaus (sp?), as
well as using one based upon derivations done by Ken Waldron, who is a
prominent kinematics/robotics researcher at the Mechanical Engineering
Department here at Ohio State. I found that Waldron's method was less
sensitive to noise. In addition, there was a paper recently given at the ASME
conference on Advances in Design Automation-1989 (Univ. of California, Davis)
intitled 'Comparison of Methods for Determining Screw Parameters of Finite
Rigid Body Motion from Initial and Final Position Data' by R.G. Fenton and X.
Shi. This compared 5 different methods, including Spoor-Veldpaus, and
concluded that the best, based upon sensitivity to noise, is one by Bottema
and Roth (of the textbook Theoretical Kinematics fame) while Spoor-Veldpaus
was noise sensitive. I know that there are other versions of the Spoor-
Veldpaus method for use with more than 3 markers to decrease the noise
sensitivity, but based upon its use with straight position/orientation
information of the rigid bodies as input (as I use it) it does not appear to
be the best choice. I will be doing some more work with this area in the
near future, say the next month or two, and if anyone is interested I can post
a follow up.
In summary, I'm trying to stay out of the 'one is better than the other
because...' argument but instead am trying to look at the several methods as
they are used in practice. The only place where a firm decision as to a
single calculation method is critical is for exchange of data between
institutions. That is how all of this got started here at Ohio State. We have
been involved in a Multi-Institutional study of cerebral palsy child gait for a
number of years now that has used sagittal joint angles exclusively. We would
like to expand our focus but before this can happen this matter of joint angle
calculation methods and coordinate system positioning/orienting must be
resolved, at least between the sites involved in the study. For an individual
research group this is not such a critical issue just so long as they establish
a method and stick to it. This issue is more of academic interest in this case.
It is also possible to convert back and forth between the various angle systems
with relative ease as demonstrated by Herman's program, but the matter of the
definition of the coordinate systems is a definite problem...
By the way, that paper on body segment mass/inerita parameters that mentioned
in the fall from Wright-Patterson Air Force Medical Research Laboratory had an
interesting approach to the coordinate system definition problem. The CS's
were defined relative to several easily identifiable bony landmarks for each
body segment. The down side of this method is the need to measure the 3D
location of a lot of points.
Enough said for now. I hope some others might join in on this discussion...
Dwight Meglan
Research Engineer and Phd-in-training (finished product coming to a journal
near you sometime in 1990/91 ;-)
meglan%This email address is being protected from spambots. You need JavaScript enabled to view it.
In the current spirit of disclaimers, the above text was not written by anyone,
to anyone, about anyone, or for anyone no matter what the text actually says:-)
=========================================================================
Date: Sat, 3 Mar 90 14:29:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Dear Biomch-L readers,
Karl Popper, in his famous book, "Logic of Scientific Discovery" proposed
a solution to the problem of how to distinguish scientific from non-scientific
theories. Popper noted that a theory can never be proved, only disproved.
This is because no matter how may observations are made that support
the theory there are an infinite number of future observations that might
disprove it. This led Popper to the belief that a scientific theory must be
falsifiable. In this way he was able to distinguish scientific theories
from theories that are defended regardless of the weight of the evidence.
While I would not classify the issue before us as scientific theory in the
same sense Popper used, his logic can still be applied to the present argument.
This can be done by Herman and I stating what points, if proved or disproved
would cause us to change our mind. If no such points exist, this debate can
have no scientific resolution. We might just as well be discussing political
ideology or religion.
In this spirit I have identified in my arguments below, the key points
which, if disproved, would cause me to change my mind. These points go to
the heart of the technical issues which underlie my position. It is possible,
of course, for others to identify arguments I overlooked which would also
disprove my position.
MEANING OF "INDEPENDENT"
This term is used in the common non-statistical mathematical sense. A set of
variables are independent if each can change its value without any change
occurring in any of the other variables.
INDEPENDENT GENERALIZED COORDINATES
To describe the position of a mechanical system it is necessary to employ
a set of k independent variables, where k is equal to the number of degrees-of
freedom (dof) in the system. A particle has 3 dof in 3-D space. A collection
of N independent particles has 3N dof. If the particles are constrained so the
distance Lij between any pair of particles i and j is constant, the particles
comprise a rigid body. The constant distance between particles can be
expressed by constraint equations of the form:
Lij = const i,j = 1...N, i not equal to j.
For two particles, N=2, we have one constraint condition, L12 = const which
reduces the dof from 6 to 5. When a third particle is added (not co-linear
with the first two) there are two additional constraints L13 = const and
L23 = const so only one dof is added for a total of 6 dof. Each additional
particle has 3 or more constraints of which only 3 are independent. As a
result the addition of more particles does not further change the number of
dof.
This explains why 6 independent variables are required to describe the
position and orientation of a rigid body, we need one for each of the 6
degrees-of-freedom. Such independent variables are also called generalized
coordinates.
Generalized coordinates (often written qi) have the trajectory property
Herman referred to. This property is simply a manifestation of their
independence from each other. The trajectory (or path) is obtained by
expressing each coordinate as a function of time, qi = qi(t) i=1,..,6.
Thus, at any time, t, there are six coordinates qi(t) i=1,..,6 which
completely define the position and orientation of a rigid body.
There is no unique set of 6 generalized coordinates. Numerous sets are
possible and often used. For example, the location of a particle can be
described with Cartesian, cylindrical, and spherical coordinates or by
the length and direction cosines of its position vector. In a similar
manner, the orientation of a rigid body can be described by any of the
Eulerian/Cardanic sets of coordinates, or by the magnitude of the
rotation and the direction cosines of the helical axis.
Point 1. THE THREE ANGLES FOR EACH EULERIAN/CARDANIC SYSTEM ARE INDEPENDENT
COORDINATES WHICH DESCRIBE THE ORIENTATION OF RIGID BODIES
SEQUENCE DEPENDENCE
Herman, following arguments made by Jim Andrews, differentiates two types
of sequence dependence, geometrical and temporal. The geometric sequence
refers to the order rotations are performed about the axes of a Cartesian
system fixed to either body segment.
Point 2. EACH SEQUENCE OR ORDER OF ROTATION PRODUCES A DIFFERENT SET OF
INDEPENDENT COORDINATES.
Herman asserts that rotations are sequence dependent but particle displacements
are not. I disagree. When properly defined neither are sequence dependent.
When poorly defined it is possible to produce sequence dependency in particle
displacements by following the same recipe used for the sequence dependency
of rotations.
Point 3. PARTICLE DISPLACEMENTS ARE SEQUENCE DEPENDENT WHEN THE INDEPENDENT
COORDINATES ARE CHANGED ALONG WITH THE ORDER OF THE DISPLACEMENTS
COMMUTATIVE PROPERTY
Once the generalized coordinates which describe a system have been selected we
can check them for the commutative property under some specific operation. Let
us restrict the discussion to addition. Herman's definition is correct, but
incomplete. The entities "a", "b", and the result of the binary operation
(a o b) must all be valid elements of the same set.
Let the entities, designated by the triple (x,y,z), be valid generalized
rotational coordinates. Let rk represent a triple at position k. The
reference position is designated as r0 = (0,0,0). Thus, the triple (x,y,z)
not only represents the orientation of a rigid body, but also a displacement
from the reference position. The operation of addition is taken to represent
the physical process of combining two displacements and is defined in the
conventional manner used for vectors:
r1 + r2 = r3
r1 = x1, y1, z1; r2 = x2, y2, z2; r3 = x1+x2, y1+y2, z1+z2
In order for the addition to be commutative, not only must
r1 + r2 = r2 + r1 = r3
r1, r2, and r3 must all be elements of the same set (ie; they must all be
valid coordinates or displacements). All of the Eulerian/Cardanic systems
satisfy these requirements as do the Cartesian, cylindrical, and spherical
coordinates used to describe particle locations and displacements.
Herman refers to this property as temporal commutativity to
distinguish it from the geometric sequence used to define the generalized
coordinates. The distinction between geometric and temporal commutativity
was, to my knowledged, first introduced by Jim Andrews in his letter to the
editor (J. Biomech.) discussing my paper with Fred Suntay. I find this new
terminology to be confusing. It is not employed when discussing particle dis-
placements, and is unnecessary when discussing rotational displacements. We
only need to talk about specifying the set of coordinates to be used for a
particular problem and whether such coordinates are commutative in the
ordinary sense.
Interestingly, neither the total particle displacement vector or the helical
axis are commutative under the operation of addition (as defined above).
Both descriptions employ direction cosines which are limited in value to the
range from -1 to +1. Adding two direction cosines of value greater than 1/2
produces a result greater than 1. Clearly the result is no longer a member of
the same set of coordinates.
Herman makes an interesting proposal which, at first glance, seems to avoid
this problem. He proposes to first create a vector parallel to the helical
axis whose magnitude is equal to the total helical rotation. This vector
can then be described by its vector components with respect to the Cartesian
system in either body segment. I will call these components Woltring angles
to differentiate them from traditional helical axis coordinates which employ
direction cosines. A Woltring rotation (or displacement) will be a change in
body attitude produced by a chance in Woltring angles. If I subject Woltring
angles to the arguments above I conclude they are a valid set of generalized
attitude coordinates. They certainly define the helical axis and therefore
the orientation or rotational displacement of a rigid body. Further, the
components are independent as they can be changed one at a time. Finally,
they have path descriptive properties as you can reconstruct the trajectory
followed if you know the time history of the Woltring angles.
Why then should I object to their use? There are several reasons. First,
Point 4. WOLTRING ANGLES DO NOT CORRESPOND TO ANY REAL ANGLES AS DEFINED
BY TWO LINES IN SPACE.
Second, while Woltring angles and displacements satisfy the mathematical
requirements for commutativity, the operation of addition can not be
interpreted as combining two Woltring displacements. That is, if a body is
subjected to two finite helical dispalcements, the Woltring angles of the
combined displacement are not the sum of the Woltring angles of the individual
displacements. A corrolary to this is,
Point 5. THE ORIENTATION OF A BODY DESCRIBED BY A SET OF WOLTRING ANGLES CAN
NOT BE OBTAINED BY PERFORMING WOLTRING ROTATIONS ABOUT A SET OF THREE
AXES.
Finally, I am fearful that these properties will be ignored and that Woltring
angles will be improperly interpreted as rotations about each of the coordinate
axes.
The three axis approach I recommend has the following advantages:
1. The coordinates are real angles and displacements are real rotations
about well defined axes in space.
2. The axes can be selected so the angles correspond to common clinical
descriptions of joint position.
3. The angles are valid generalized coordinates that can be used in
dynamical analysis of joint motions.
4. The angles are commutative and rotational displacements can be
combined by adding and subtracting the angles.
5. The system provides insight in to the nature of joint motions by
explaining such phenomena as Codman's paradox.
At this point I will withhold further comment until others in the community
have an opportunity to share their thoughts. I will, however, answer specific
questions directed to me.
Herman, I appreciate your invitation to co-author a paper. In order to reach
some agreement, I have identified 5 points which are the foundation of my
arguments. Proving any of them wrong would cause me to carefully re-evaluate
my position. The problem of gimbal lock and the associated computational
complexities seem minor to me. As noted above, I see Codman's paradox as
supportive of my position. If we can not find a way to agree there is
the possibility of putting this debate in print.
Edward S. Grood
This email address is being protected from spambots. You need JavaScript enabled to view it.
Noyes-Giannestras Biomechanics Laboratories
Department of Aerospace Engineering and Engineering Mechanics
University of Cincinnati, OH 45221-0048
2900 Reading Rd.
Cincinnati, OH 45221-0048
=========================================================================
Date: Tue, 6 Mar 90 11:22:00 N
Reply-To: "Giovanni LEGNANI. University of Brescia" <LEGNANI@IMICLVX>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Giovanni LEGNANI. University of Brescia" <LEGNANI@IMICLVX>;
Subject: angles, screws and matrices.........
Dear biomch-l subscriber,
Returning from a few days holiday I found
other papers on angles, screw axes and so on... It looks as if
everybody wants to show how good he is in math.... And although my
English and my Math are very bad, I also want to do the same...
Like many people, I have studied many different ways to express
rotations. A chapter of my doctoral dissertation (1986) was
devoted to this study. I do believe that there is NOT a BEST way
to represent the angular position of rigid bodies. Every method
has good points and bad points. Probably each method has been
established because it was useful in a practical application. For
example, I guess, that the Euler's angles have an interesting
meaning in Astronomic study about planets.
Any way I devoted a little time in studying the following sets of
"angular parameters":
1) Euler's angles
2) Cardan's angles (also known as Tait-Brians' angles)
3) Euler's parameters and "quaternions"
4) Rodriguez-Hamilton's parameters
5) Euler's axis and angle (also known as finite rotational axis)
6) a system based on Latitude and longitude
7) director cosines and rotational matrices
8) screw theory
Each of the methods, except 8), falls in one of the two following
groups:
a) a three independent parameters system
1) 2) 4) 5)
b) a more (>3) NOT-independent parameters system
3) 6) 7)
the screw theory describes either rotations and displacements and
from the rotational point of view is "similar" to method 5.
Every system which consists of 3 parameters has mathematical
singularities for a few particular values of its parameters. (i.e.
the Rodriguez parameters for TETA==90 degrees or the Euler angles
if the node axis is not defined, ....) and there are high
numerical errors when the parameters are closed to these
singularity points. Any way this is not a problem if one is sure
that in its problem he will never reach or approach these points.
Every system consisting in more than 3 parameters removes the
singularity but forces to use a set of NOT independent
"coordinates". The meaning of a set of coordinates of group 2 is
also generally less expressive or clear for Humans.
I do think that the choice of an angular parameter system can be
done taking into account many aspects as (for instance):
1) the meaning of each parameter in each practical application
2) the risk to fall into a singularity
3) the math simplicity
......
.... and last but not the least
999) the researcher's experience and beliefs...
I like to use a 4*4 matrix method based on the well known
Transformation matrices approach. I extended this method to full
kinematics (speed and acceleration) and dynamics (wrenches
(forces+torques), linear and angular momentum, inertial terms). I
think that, at least for computer applications, this method is
very convenient for its programming simplicity and because it has
not any math singularity. A 3*3 sub-matrix of a 4*4 matrix is the
well known rotational matrix that can be easily built from
whatever of the above coordinate systems. However, the inverse
transformation (i.e. from matrix to parameters) is, of course,
possible and easy only if we are not close to one of the math sin-
gularities of that parameters set.
Using this approach, my colleagues and I have been developing
SPACELIB, a computer library for the kinematic and dynamic analy-
sis of systems of rigid bodies. Using this library we have reali-
zed many computer programs for the study of robots and for human
body simulation (direct and inverse dynamics and direct and inver-
se kinematics).
Summarizing:
1) each method has good and bad points
2) I like matrices
3) I am interested in the exchange of papers, SHORT mails and
computer libraries.
If someone is interested in my topics, he can have a look at the
proceedings of the last Int. Congress of Biomechanics (LA 1989) or
its satellite meeting on computer simulation (DAVIS, CA 1989) or
write or mail to me directly.
I am looking forward to hearing from someone about angles,
matrices or grammar mistakes.
Yours Faithfully
Giovanni LEGNANI
Giovanni LEGNANI
University of Brescia
Mech. Eng. Dep.
Via Valotti 9
25060 MOMPIANO BS
ITALY
tel +39 30 3996.446
fax +39 30 303681
=========================================================================
Date: Fri, 9 Mar 90 11:18:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: Joint attitude debate: final reply & summary
Dear Biomch-L readers,
The number of (lengthy) responses on the current joint `angles' debate has been
rather small, both posted and emailed to me, so I agree with Ed Grood that it is
time to put things to an end with this reply. Of course, other subscribers are
free to continue, but the major philibusters should, perhaps, exercise some con-
straint.
* * * 1. Dwight Meglan's posting (Wed, 28 Feb 90 11:49 EDT) * * *
I am delighted that someone took the trouble of processing real joint data and
to show the different graphical results; time permitting, this is precisely what
I have been planning to do. Regretfully, Dwight's abstract as published in
the ORS '90 Proceedings on p. 558 (D.A. Meglan, J. Pisciotta, N. Berme and
S.R. Simon, Effective Use of Non-Sagittal Plane Joint Angles in Clinical Gait
Analysis) merely refers to what were called `different Euler angle systems: 1)
The fixed xyz axis system [Inman, V. et al., Human Walking, Williams & Wilkins,
1981], and 2) the floating xyz axis system (or Joint Coordinate System) [Chao,
E.Y., J. Biomech. 13:989-1006, 1980; Grood, E.S. & Suntay, W.J., J. Biomech.
Eng., 104:126-144, 1983]'. Thus, helical `angles' were not anticipated at the
time of abstract submission. On the other hand, co-ordinate system changes were
discussed, and Dwight's point that these should also be taken into account is
quite appropriate. However, this does not mean that the current joint `angle'
debate is superfluous since the differences in calculated angles under different
conventions can be quite dramatic, other things being equal.
Actually, Dwight's fixed xyz Euler angles are, in my mind, not at all what are
usually seen as Euler angles, i.e., some (well defined) sequence in the Carda-
nic/Eulerian sense that we have been debating on this list, but angles between
projections in fixed laboratory coordinate planes (XY, YZ, ZX) of spatial lines
(e.g., longitudinal limb axes). Since these angles are even less well-behaved
than Cardanic angles, I decided not to discuss them in the current debate.
Of course, the problem with abstracts submitted to large conferences is that
they may be obsolete or incomplete (because of new results) once the conference
takes place, and this may have been the case with the OSU study. Fortunately,
most conference organizers have the flexibility to accept such changes.
That I make this seemingly unfriendly remark has a real purpose: when I quoted
the debate between Alice and Humpty Dumpty, this was not merely a (poor?) joke,
but an indication of what seems to happen perpetually in the present debate.
Words are used in slightly different meanings, with all the concomitant, Babylo-
nian confusion. Before the Iron Curtain became torn, there were big signs once
one entered Eastern from Western Germany saying "You are now entering the Ger-
man Democratic Republic" -- which I, because of a western bias, just thought
to have left. Jim Andrew's Letter to the Editor [J. Biomech. 1984, 155-158],
referred to by Ed Grood in his last posting, claims that Ed's use of the term
`co-ordinate system' is unconventional, and that Ed, in fact, merely described a
fictitious linkage system. In a similar fashion, I think that Ed has reinter-
preted the term `sequence independence' in an unusual and unnecessarily confu-
sing way.
While Dwight's `shotgun' approach is to be commended, his explanations and con-
clusions worry me to some extent. When he says `It is important to note, how-
ever, that the finite screws describe the joint motion as a single rotation
about an axis in space which is exactly what the joint motion is, not a sequence
of ordered rotations', I believe that he is quite mistaken. Again, the helical
convention merely proposes to describe a current or actual joint attitude AS IF
it is attained from the reference attitude via a single, helical motion about
some directed line in space, it does NOT claim that this, in fact, occurs.
What one can do, though, is to view the movement, at each moment in time, as an
i n s t a n t a n e o u s rotation about plus translation along some directed
line in space. Now we talk about the Instantaneous Helical Axis which is some-
thing quite different. At each time instant, the `amount' of movement is defi-
ned by the instantaneous rotation velocity about and translation velocity along
this IHA, while the `mode' of the movement is defined by the position of (some
point on) the IHA and the unit direction vector of the IHA.
Dwight suggests that one should decompose the helical angle `vector' into com-
ponents along the generally oblique axes of a Cardanic linkage system like the
one preferred by Ed Grood. It may be that many orthopaedists are now familiar
with this Cardanic convention (but I believe that the non-Eulerian, `projected
angles' in San Diego are well understood there), but that is not a valid reason
to stick to them, especially if there are serious disadvantages. Good surgeons
are keen on learning new things once they believe that it will help them in
their work.
Jim Andrews mentions three key arguments for any joint angle definition: they
should explain the movement (or orientation) easily, they should not exhibit
singularities, and they should be easy to calculate. The first argument ap-
plies, in my mind, both to helical and Cardanic angles, with a preference for
the former since I think that sequence effects are more difficult to explain
than the notion of orthogonally decomposing the helical `vector'. The second
argument is in favour of the helical approach, where it might be useful to
note that close to gimbal-lock, certain differential displacements of a joint
or body will hardly be reflected by the chosen joint angle `co-ordinates',
whereas other differential displacements of the same magnitude will result in
very strong changes in these angles; this makes visual interpretation of angular
graphs rather difficult. The third argument is obsolete with current computa-
tional facilities.
Instead, the advantages of maximizing orthogonality should be clear to anyone
who wishes to describe joint angulation and to relate it to forces and moments
which are true vectors, commonly decomposed in (truely) independent, orthogonal
components.
Under various Cardanic conventions, strong flexion, abduction, and endorotation
under one convention become about the same flexion, but adduction and/or exo-
rotation under another one, while no strong differences are observable when all
angles are small. Thus, different p a t t e r n s of joint angles are to be
expected necessitating agreement between investigators (and their institutions?)
in order to allow valid comparisons. Since the `helical convention' more-or-less
provides the mean values of all possible Cardanic conventions, this might be an
additional argument in its favour, despite the generally non-physical nature of
its component angles.
* * * 2. Ed Grood's posting of Sat 3 Mar 90 14:29 EST * * *
I appreciate Ed's attempt to clearly define his key considerations, which should
make it easy to follow the debate.
a. "Independent" in the non-statistical, mathematical sense. Agreed, but in-
dependence is better if it applies also in the statistical, mathematical sense
with orthogonal (uncorrelated) components. Besides, some of Ed's examples for
his 6 generalized co-ordinates do not reflect independence in his use of the
term: the direction cosines of a position or direction `vector' are not, since
their squares add up to unity. In an earlier email note or posting (off my
head, there's too much paper on this debate already), Ed suggested using the
length and two of the three direction cosines as independent variables; this,
in my mind, is extremely unelegant and at variance with Jim Andrew's first two
conditions.
b. I agree that both Eulerian/Cardanic and helical angles are independent in the
above sense, but close to gimbal lock, they are quite differently behaved. This
may not be a problem in level, straight gait analysis (the current paradigm),
but it certainly is a problem in complex, sportive movements. When Ed claims
that generalized co-ordinates have trajectory properties, he reinterprets a
word from its intended meaning (for which I am the guilty one if I have been
insufficiently clear in my words): certainly, I thought in terms of a physical
path about and along the axes of Ed's linkage system, not in terms of some
abstract, mathematical space whose parameters have the dimension of angles,
behave as angles in certain special cases, but which are, in general, not real,
physically identifiable angles. ["It looks like a duck, walks like a duck,
quacks like a duck, so it must be a ..."]. Similarly, I did not think in terms
of the continuous time-dependent movement that our joints exhibit, but about how
to `optimally' describe a given attitude at some specific time only.
c. Ed's argument on `different sets of independent co-ordinates' comes back on
what I stated above with Dwight Meglan. Ed defines `sequence' in an unusual,
and, in my mind, unnecessarily confusing way. If I first (i.e., proximally)
translate x along the X-axis, then (distally) y along the (displaced) Y-axis
of a given, Cartesian co-ordinate system, I wind up in the same position as
when I had first (proximally) translated y along the Y-axis and then (distally)
x along the (displaced) X-axis. For rotations, however, different attitudes
are attained. Furthermore, the distinction between temporal and geometrical se-
quences is not used with particle displacements because it is not needed there.
When Ed says that this terminology `... is unnecessary when discussing rotatio-
nal displacements. We only need to talk about specifying the set of co-ordina-
tes to be used for a particular problem and whether such co-ordinates are com-
mutative in the ordinary sense', I do not know whether he refers to Cartesian
co-ordinates or linkage co-ordinates (when are they the same?) and to what kind
of `ordinary sequence' he refers to.
d. `Woltring angles'. While I feel honoured to see my name attached to gene-
rally non-existing angles (at least in real, physical space), I would prefer to
stick to the name `helical angles'. I maintain my position that, for attitude
description purposes, there is no need that these angles be generally identifi-
able with some specific physical angles; their orthogonality is the more impor-
tant property. Jim Andrews made some related remarks on this point.
e. At the present time, there is no clinically well-accepted convention for 3-D
joint attitude parametrization. Various orthopaedic surgeons accept what their
engineers tell them, but if these engineers cannot agree amongst themselves ...
f. Cardanic/Eulerian angles fail close to and at gimbal-lock, in both direct
and inverse dynamics.
g. Ed's angles are `commutative' and `additive' in his definition of the terms,
at the expense of a generally non-Cardanic, oblique `co-ordinate system'.
h. There is no need to advocate the use of any proposed joint convention for
joint ATTITUDE quantification because of its properties to explain certain
peculiarities of particular conventions.
Ed, let's wait and see what the (electronic) community has to say; may-be, its
contribution will eventually make a published debate useful.
* * * 3. Dr Legnani's posting of Tue 6 Mar 90 11:22 N * * *
Dr Legnani has given a nice summary of various attitude parametrization methods;
in the present debate (human interpretation of joint angle graphs), his `3 para-
meter models' are the relevant ones.
His claim that `(e)very system which consists of three parameters has mathema-
tical singularities for a few particular values of its parameters' does (unless
I am mistaken) not always hold true. If they were, the covariance matrix for
these parameters should become unbounded when the singular points are approach-
ed. This is not the case when calculating the covariance matrix for the `vec-
tor' THETA (with 0 .le. theta .le. pi) using the relation THETA = theta N and
formulae (20) and (21) in a paper on finite helical axes and centres of rotation
in the Journal of Biomechanics 1985, p. 382. Working out the various partial
derivatives and matrix products yields
COV(THETA) = k [ {theta^2/(1 - cos(theta))} (I - NN') + 2 cos(theta)^2 NN' ]
which, for theta --> 0, reduces to 2 k I,
where I is the identity matrix, and k the variance of incremental disturbances
on the attitude matrix in arbitrary directions; see the quoted paper for further
details where k is a function of isotropic measurement noise per co-ordinate
axis and of an isotropic landmark distribution in photogrammetric rigid-body
reconstruction.
If theta approaches 2 k pi, with k integer and non-zero, the covariance matrix
becomes unbounded, but this is irrelevant in the present debate where arbitrary
attitudes can be represented for 0 .le. theta .le. pi; cf. the planar case where
the unit direction vector N is replaced by a + or - sign, with theta periodic in
2 pi both in the 2-D and 3-D cases.
While I have no proof, I believe that the `helical vector' is well behaved also
for other situations than the isotropic case referred to above, as long as the
landmark distribution and the noise are non-pathological. Proving this might be
a nice challenge for a mathematically oriented MSc or PhD thesis ?
Herman J. Woltring
Eindhoven, The Netherlands
<This email address is being protected from spambots. You need JavaScript enabled to view it., tel & fax +31.40.41 37 44>
=========================================================================
Date: Fri, 9 Mar 90 11:46:36 MET
Reply-To: Leendert Blankevoort <U462005@HNYKUN11>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: Leendert Blankevoort <U462005@HNYKUN11>;
Subject: EMOTION (E-mail Motion)
Dear Biomch-L readers,
Following the discussions on the description of joint motions, I would
like to contribute the following points, which are based on the experiences
we have in our Biomechanics Lab. at the University of Nijmegen. My
intention is not to be in favor of any proposed convention, but to discuss
some items which were not directly addressed as yet and to clarify some
points.
1) JCS vs. Euler/Cardan angles
According to our analyses, the rotations in the JCS system and the Euler/
Cardan angles are equivalent, provided that the rotation sequence is
applied which is implied in the geometric definition in the JCS system.
This can be derived from the equations given in the paper of Grood and
Suntay (1983). For instance, if for the knee flexion, ad-abduction (or
varus-valgus) and internal-external rotation are specified of the tibia
relative to the femur, then in the JCS system the flexion axis is fixed to
the femur, the ad-abduction angle is the floating axis and the internal-
external rotation axis is fixed to the tibia. Using the Euler/Cardan
convention, the rotations are then specified as rotations around the body-
fixed axes of the tibia moving relative to a space fixed femur for which
the rotation sequence flexion, ad-abduction, internal-external rotation is
to be used in order to obtain the same values for the rotations as in the
JCS system. I believe that despite the controversies between Grood and
Woltring, both "chief" discussers can agree on this.
2) Translations
So far much of the attention was paid to the rotations and only little was
said on the translations, probably because the rotations are considered to
be clinically meaningful. However, the anteroposterior translations as
measured in instrumented AP-laxity tests, are important for quantifying AP
laxity and AP stiffness. The value of the translations of one bone
relative to another depend on the choice of the so-called base points,
which generally are identical with the origins of the coordinate systems in
the bones. Thus, special care is to be taken when comparing translational
data between different research groups and between different measurement
devices. When using the finite helical axis description, the translation
along the axis is independent of the choice of the coordinate systems and
represents the "true" translation of one bone relative to another for a
finite motion step. For pure translations however, the helical axis is not
defined, but then the value of the translation does not depend of the
choice of the base point.
3) Variations of the coordinate systems in experiments
As pointed out by Meglan, variations of the orientation of the coordinate
systems relative to the joint anatomy and the variations of the anatomic
reference position account, at least partly, for the differences in the
resulting rotations between joint specimens or between subjects. This was
discussed and illustrated in a paper from our group in the Journal of
Biomechanics in 1988 (Blankevoort et al., 1988). This does not mean that
as long as we are not able to uniquely define coordinate systems in
different joint specimens or different individuals, we should not bother
about the choice of the kinematic convention for the reason that the
variations between the convention are smaller than the observed variations
between joint specimens or individuals. Different kinematic conventions
will introduce systematic differences which have no relation whatsoever
with biologic variations or statistical standard deviations.
4) Mathematics and representation
The present discussion at the list was mainly focussed on how the rotations
are to be represented. Of course, if one is presenting data on joint
angles, then the mathematical background is to be specified. The reader
can then always reconstruct the motion patterns and express them with his
(or hers) own convention. However, most of the reports fail to give all
numbers, e.g. three rotations and three translations, because only those
data is reported which is relevant to the subject of the paper. Some
standardization may be necessary for commercially available measurement
systems to be used on a routine basis in the clinic. However, during the
process of data acquisition and data processing or in the formulations of
kinematic models, one is free to use any of the conventions as long as it
meets the criteria for the data processing and the mathematics of the
model. In the final stage, the kinematics data can be transformed to any
desired system. For instance in gait analysis, one can process the marker
data by some rotation convention which is found to suit best the
requirements for the subsequent dynamic analyses and can represent the
kinematics by use of the JCS or the Woltring system.
5) Future steps
Following the discussions on the list, it became clear to me that because
of the complexity of the description of 3-D joint motions, there remains a
lot of "teaching" to do in the field of Biomehcanics to make clinicians,
anatomists as well as biomechanicians aware of the difficulaties and
pitfalls of kinematics. Basic understanding seems more important than the
normalisation of motion description by adopting some standard convention,
since the consequences of any choice should be properly understood by the
users of such standard system. I am certainly in favor of producing an
extensive paper (or maybe a book?) on the ins and outs of biokinematics,
which should be aimed at a broad audience in the field of biomechanics, to
people with a poor mathematical background as well as people with poor
knowledge of (human) anatomy. I encourage Grood and Woltring to write
something (after they have cleared their confusions).
References
Grood, E.S. and Suntay, W.J. (1983) A joint coordinate system for the
clinical description of three-dimensional motions: applications to the
knee. J. Biomech. Engng 105, 136-144.
Blankevoort, L., Huiskes, R., Lange, A. de (1988) The Envelope of passive
knee joint motion. J. Biomechanics 21, 705-720.
Leendert Blankevoort
Biomechanics Section
Institute of Orthopedics
University of Nijmegen
P.O.box 9101
NL-6500 HB NIJMEGEN
The Netherlands
This email address is being protected from spambots. You need JavaScript enabled to view it.
=========================================================================
Date: Fri, 9 Mar 90 20:38:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: Joint Attitude Debate
I will be in Switzerland for the next week and therefor unable to respond
to any questions or comments for a while.
While this debate has certainly been worthwhile and interesting, I do note
the ever widening circle of points to argue and debate about. There is a
clear need to bring some focus and resolve fundamental issues.
If anyone has a suggestion on how to accomplish this I would sure like to
hear it.
Edward S. Grood
Cincinnati, OH USA
=========================================================================
Date: Mon, 12 Mar 90 10:40:00 EST
Reply-To: MEGLAN%This email address is being protected from spambots. You need JavaScript enabled to view it.
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: MEGLAN%This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: Let me fix that...
Greetings once again,
In Herman's recent message which summarized the postings by several of us,
he mentioned that he was concerned with the statement I made about finite
screw axis defining the axis about which the actual joint rotation is occuring
at a given instant in time. Well, he is right. As written in the posting,
my statement is incorrect. I was thinking one thing and writing another. For
our purposes here, we use two different types of finite and instantaneous
screws. We call them absolute and relative screws. The absolute is the screw
motion which defines the position of a body relative to a base coordinate
system. Essentially, it is the motion the body would go through if it started
out coincident with the base coordinate system and ended up in its final
position. This is the screw used by ourselves to calculate the screw attitude
angles and I believe this is the same definition used by Herman. The relative
screw is the axis about which the body would move when it goes from a position/
orientation at time t to a position/orientation at time t+1. This screw axis
can be defined in terms of any coordinate system. In our case we usually look
at it in terms of the proximal segment local coordinate system (LCS), although
the distal segment LCS and lab global coordinate system (GCS) versions are also
calculated. This is the screw axis that I was refering to in my posting. This
I believe is the axis about which the joint rotates at a given instant in time.
Of course, the relative instantaneous screw axis should be a more correct
description and in the limit as the sampling rate becomes infinitesimally small
the finite and instantaneous screw axes should coincide. Note: I'm refering to
the direction of the screw axes not the entire screw (i.e., the rotation and
translation along and about the axis and well the screw's position).
Both the absolute and relative screws are useful as can be seen in Herman's
application of the absolute screw and in Leendert Blankevoort's works on joint
kinematics where he has used both absolute and relative screws I believe. The
relative screw description is what has been used to define the pierce point of
the axis of rotation of the knee on to a sagittal plane as following a C shaped
curve located in the midst of the femoral condyles.
Sorry for the confusion. I hope this clarifies what I meant rather than
what I said :-)
One last comment. I fully agree with Leendert Blankevoort's comments about
translation definitions. We've tried a number of different definitions
usually based upon the locus of the instantaneous screws of a given motion and
it is definitely more difficult to define translations than rotations are far
as I'm concerned. With translations not only is the placement of the embedded
coordinate systems critical, but also the orientation. This is an even more
difficult task for trying to come up with a standardized definition.
Dwight Meglan
The Ohio State University
Gait Analysis Lab
meglan%This email address is being protected from spambots. You need JavaScript enabled to view it.
=========================================================================
Date: Thu, 29 Mar 90 10:41:00 N
Reply-To: "Giovanni LEGNANI. University of Brescia - Italy - European
Economic Community" <LEGNANI@IMICLVX>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Giovanni LEGNANI. University of Brescia - Italy - European
Economic Community" <LEGNANI@IMICLVX>;
Subject: joint attitude debate......
Dear biomch-l readers,
I was asked by a number of you to point
out better my opinion on the joint attitude and angles debate. I
was also asked to give information about SPACELIB.
I will send a personal answer to everybody but I'd also like to
summarize my ideas here.
I begin with SPACELIB. This is a software library I realized with
the help of a few colleagues in order to study spatial systems of
rigid bodies. We apply it in robotics as well as in biomechanics.
SPACELIB is based on a matrix approach involving 4*4 matrices. We
have six different kind of matrices to describe three kinematic
and three dynamic entities. They are POSITION, VELOCITY AND
ACCELERATION of bodies (or points) and ACTIONS (forces and
torques), MASS DISTRIBUTION (inertia moments) and MOMENTUM (both
angular and "linear"). Using this library we have written a
program for the whole body motion analysis we presented at the
last symposium on computer simulation in Biomechanics (DAVIS CA
1989). This matrix approach, that can be considered being the
extension of the homogeneous transformation approach to the whole
kinematics and dynamics, is documented in many papers. The library
written in C-language consists of about 40 modules which perform
all the elementary steps necessary in developing of the analysis
of any spatial system of rigid bodies.
We are planing to realize in the future an academic free sharable
version of SPACELIB.
We will be happy to send further documentation or papers to
anyone who is interested in.
**** Angles debate:
In a previous e-mail I summarized the most famous sets of angular
coordinates. I outlined also my opinion on the fact that I don't
believe that any of these sets are THE BEST in EVERY situation.
Before answering to whom asked me a deep discussion I want to
state a few points:
1) I am interested in (three dimensional) kinematic and dynamic
aspects of biomechanics.
2) I am NOT an expert in smoothing raw data.
3) I am not trying to give THE FINAL answer to the debate but I
am just trying to point out a few relevant aspects.
4) This mail isn't a well-organized paper but just a "hand-
written" note edited in order to give a general idea of my
opinion.
I believe that the central idea is "if we want to study something
(e.g. the elbow, the knee, ... the whole body ...), initially we
create a model of that thing (e.g. we decide if we will consider
or not the knee being a perfect revolute pair) and at last WE
CHOOSE A SET OF COORDINATES WHICH EMPHASIZE THE MAIN IMPORTANT
CHARACTERISTICS OF THE MOVEMENT"
I find that the relative angular position between two bodies A and
B generally falls in one of the following situations:
a) The two bodies are not linked by any angular constrains. In
this situation body B can assume any angular position with res-
pect to A (e.g. the trunk of a man during a jump can rotate
freely with respect to the Earth).
b) The two bodies are connected by a non-spherical joint. Many
situations can occur -- the most relevant are:
b.1) The two bodies are connected by a revolute pair or an
approximate rev.pair (i.e. arm and forearm are connected
by the elbow (an approximate revolute pair)).
b.2) The two bodies are connected by a "joint" which permits
two or more degrees of freedom (e.g. the head is connected
to the body by means of the neck (an approximately spheri-
cal joint)).
c) The two bodies are connected by a revolute pair or by a joint
which can be considered the sum of two or three revolute pairs.
(although this situation does not happen in Biomechanics, some
joints (e.g., the elbow) can be considered as approximately be-
longing to this category.)
In situation a) there is no preferred direction, axis or angle, so
it appears very obvious to choose a set of angular coordinates
which is "neutral" or "symmetric" with respect to the body and to
the reference frame (e.g. screw angle system (also called the
Euler angle and axis)).
On the contrary, in situation b.1) The movement is usually
composed of one large rotation (around the joint axis) and
possibly two smaller rotations. Anyway all these three rotation
angles are always contained in a well-known range. I think that in
this situation a system of coordinates which gives a different
importance to the first rotation (e.g. flexion-extension of the
elbow) with respect to the others (ab-adduction and endo-exorota-
tion) is more significant than other angular parameter sets.
At last in situation b.2) all the three angles can vary of about
the same maximum range but from a "physical" point of view we can
identify two different kinds of angular displacements. Let us
consider, for instance, the movement of the head with respect to
the trunk. It can be decomposed into two "flexions" and one
"twist" of the neck. Also in this case it looks to me that the
flexions and the twist can be considered having a different
"priority".
A further consideration is that, while in case a) the angles can
vary from 0 to +/- 180 degrees (or 0 -/+ 360),in the cases b)
their values are generally lower than 90 degrees.
Situations b.1 and b.2 can be possibly handled considering the
"joint" composed by two different joints connected in succession.
The first joint being a two degrees of freedom joint while the
second is a one degree of freedom joint. The first joint is a
"semi-spherical" joint which allows the orientation of an axis "a"
but do not permits a twist movement around the axis itself. The
second joint is a revolute pairs which allow a rotation about axis
"a" displaced by the previous joint. (I hope that anyone will
invent a easy way to send pictures on e-mail).
The three angles giving the body orientation can be: a sort of
Latitude and Longitude angles of axis "a" plus the twist angle
around the axis itself. These latitude and longitude angles can
be defined giving to both of them the same importance and making
these angles true measurable angles.
Situation c) "requires" the adoption of a "planar" convention (one
angle) or (sometimes) the adoption of an Euler/Cardanic convention
if the joint is considered being constituted of a series of
revolute pairs.
Any of these systems of angles can originate a rotation matrix
very useful in performing calculations.
Summarizing: I suggest to identify a (little) number of different
situations and to choose for each of them an appropriate
"standard" set of angular coordinates.
************** At last a one million dollars question ********
How can H. Woltring be so frequently present on e-mail, how can he
produce so fast new papers (by the way: thanks for the
acknowledgement) and how can he continue working at his lab at the
same time?
Do the days in The Nederland have more than 24 hours? Or are his
hours longer than everywhere else?
I'd like to have any suggestion from Herman in order to increase
my productivity.
have a good work.
Giovanni LEGNANI
P.S. Please generally excuse me for my bad English.
=========================================================================
Date: Wed, 9 May 90 17:01:00 N
Reply-To: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <ELERCAMA@HEITUE5>;
Subject: J. of Orthopaedic Research 8(3)
Dear Biomch-L readers,
The last issue of the Journal of Orthopaedic Research (vol. 8, nr. 3, 1990)
contains a number of interesting articles:
William G. Negendank, Felix R. Fernandez-Madrid, Lance K. Heilbrun, and
Robert A. Teige, Magnetic Resonance Imaging of Meniscal Degeneration in
Asymptomatic Knees (pp. 311 - 320)
A. van Kampen and R. Huiskes, The Three-Dimensional Tracking Pattern of
the Human Patella (pp. 372 - 382)
M.P. Kadaba, H.K. Ramakrishnan and M.E. Wootten, Measurement of Lower
Extremity Kinematics During Level Walking (pp. 383 - 392)
In the context of the recent debate on joint angles, the latter two papers seem
to implement two different joint angle conventions: Albert van Kampen en Rik
Huiskes (Nijmegen/NL) implement the Selvik convention (flexion/extension imbed-
ded proximally, endo/exorotation floating, and ab/adduction imbedded distally),
while Murali Kadaba and his colleagues (West Haverstraw, NY/USA) have adopted
the Grood & Suntay definition with proximally imbedded flexion/extension axis,
floating ab/adduction axis, and distally imbedded endo/exorotation axis. They
call the corresponding joint angles even `orthopaedic angles'...
As Leendert Blankevoort (Nijmegen/NL) claimed in a recent paper in the Journal
of Biomechanics, the difference between these conventions is not very large.
However, flexion in his study did not go beyond about 90 degrees, if I recall
correctly, while knee flexions up to 150 degrees are reported in the present
Nijmegen study. It would be interesting to see how different the various curves
look under the two conventions.
In recent research with Sandro Fioretti in Ancona/Italy, we found that the heli-
cal angles and the Grood & Suntay angles are rather different for ab/adduction
and endo/exorotation, but quite similar for flexion/extension during regular
level walking, if the neutral attitudes are defined with the subject in the
standard, anatomical position. In fact, flexion/extension was similar for all
possible, Cardanic permutations, while the two other angles could be quite dif-
ferent. In one case where flexion/extension was the floating angle, the two
other angles were very large, presumably, because of a positive correlation
between the terminal angles when the floating angle is not small.
I'd like to pose the following question to the readership: it seems that there
are different interpretations of the terms `sagittal, frontal, and transverse
axes'. While Kapandji defines the sagittal and frontal axes to be horizontal
within the planes of the same names (again, for the subject in the standard,
anatomical position), others view these axes as normal to these planes. I would
be grateful for any comments and pointers to literature defining these alterna-
tives.
Herman J. Woltring, Eindhoven/NL <This email address is being protected from spambots. You need JavaScript enabled to view it. (or .bitnet)>
=========================================================================
Date: Fri, 10 Aug 90 11:30:00 N
Reply-To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
Comments: INFN.IT domain is equivalent to BITNET domain: INFNET; INFNET has
been disestablished Dec 31, 1988
From: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: INFORMAL WORKSHOP AARHUS, 8 JULY 90
Minutes and comments on the informal workshop on 3-D Joint
and Segment Kinematics, held in Aarhus, Denmark, 8 July 90.
Dear Biomch-l reader,
Being a participant in the workshop, these are my comments about
the discussion held at the informal workshop organized by Dr. H.J.
Woltring in the margin of the VII ESB-meeting, in Aarhus.
As a CAMARC partner, I think that it is useful to give information
about this meeting to the largest scientific community and to
obtain feedback from other participants in the meeting and from
all other interested readers.
Sandro Fioretti
Department of Electronics and Automatica
University of Ancona
via Brecce Bianche
60131 Ancona - Italy
email: This email address is being protected from spambots. You need JavaScript enabled to view it.
Report and Comments
An informal workshop under CAMARC has been held in Aarhus during the VII
Congress of the European Society of Biomechanics.
CAMARC (Computer Aided Movement Analysis in a Rehabilitation Context) is a
European project financed by the Advanced Informatics in Medicine (AIM)
Programme of the European Communities.
The workshop was organized by Dr.ir. H.J. Woltring (CAMARC partner) and
took place in a room of the Orthopaedic Hospital in Aarhus/DK.
About thirty persons were present coming from Europe and USA. In particular
Prof. Grood was the main participant after the long debate occurred with
dr. Woltring via the Biomch-L electronic mail discussion list. Almost one
half of the participants were physicians coming from public health
institutions.
Aim of the workshop was the discussion of some practical problems in
Movement Analysis. In particular:
- Joint angle definition (projected, cardanic, helical angles);
- Definition of Body-Segment Co-ordinate systems;
- Landmark cluster definitions per body segment;
- Anything else thought to be relevant.
From the discussion it emerged that:
- It was debated, without final agreement, that a standard for the definition
of joint angle parameterisation can be valid for all joints. For some
joints (such as the shoulder complex) the helical representation could be
more efficient than the cardanic ones, while for other joints the opposite
could be true.
- It is recommended to pose the problem of the superiority of one angle
description with respect to another in the sense of its higher level of
regularity, globality and simmetry.
- There is the problem of the anatomical meaning of the angles obtained
with a particular parameterisation. This problem emerged very clearly
during the workshop because all non-technical participants ignored the
problems connected with the 3-D angle representations while they expected
to obtain from the various parameterisations the usual anatomical definition
of the joint angles.
- The above two points suggest that it could be useful to develop a
software tool mapping the results obtained with the most appropriate
angle parameterisation for a particular joint into an anatomical
conventional, easily understandable, representation of the same variables.
- These points suggest that it might be useful to think about how to
properly teach technically superior parameterisations with less physical
interpretability.
- The correct definition of the anatomical co-ordinate systems by external
marker positioning is unanimously recognized as a real problem for Movement
Analysis.
- The procudure proposed by dr. Woltring for a better alignment of the
technical axes with the anatomical ones was discussed with data obtained
at Ancona Movement Analysis Laboratory and relative to the analysis of
knee joint movement during locomotion. The correction of the cross-talks
among flexion with ab/adduction and with endo/exorotation constraining to
zero the latter two angles (obtained under the helical convention) in
correspondence of the maximum of knee flexion was not approved.
It was affirmed that the same procedure could be useful if correction is
performed in correspondence of 45 degrees of knee flexion during the
swing phase of gait.
[NB: The above procedure was merely proposed for demonstration; its main
purpose was to show how one m i g h t perform such corrections -- HJW]
=========================================================================
Date: Tue, 8 Oct 91 10:18:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Volkmann (19th century)
Dear Biomch-L readers,
Last year February and March, there was an extensive debate between, a.o.,
Ed Grood and myself on the pro's and con's of Cardanic angles as mechanized
in the Grood & Suntay `joint coordinate system', and the so-called `helical
angles' as proposed by myself.
During last week's second Mathematics in Orthopaedics symposium at the
Oskar-Helene-Heim at the Free University in Berlin, I was told that a mr(s)
Volkmann in Germany described this convention about one century ago.
Unfortunately, I have up to now been unable to locate a reference, and I
would be grateful for any help from the readership.
Thanks in advance -- Herman J. Woltring, Eindhoven/NL
=========================================================================
Date: Wed, 18 Dec 91 01:38:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: 3-D joint angles and standardisation
Dear list readers,
During ISB-13 in Perth last week, an announcement was made that a draft
proposal on 3-D kinematics will be published shortly in the ISB Newsletter,
with a request for comments.
Following the joint angle debate on Biomch-L during February and March 1990,
I am pleased to be able to say that two vendors of 3-D biokinematics equip-
ment have promised (during the recent Clinical Gait Analysis meeting in
Richmond, Virginia/USA) to implement the so-called "helical" convention
next to the other convention(s) already available in their systems. This
shall certainly facilitate the community to provide the comments that will
be asked for by the ISB standardisation committee.
In addition, I might point out to our recent subscribers that a FORTRAN
test programme implementing these various conventions can be obtained from
the Biomch-L fileserver, by sending the following command (Subject: line
is irrelevant) to This email address is being protected from spambots. You need JavaScript enabled to view it. or to This email address is being protected from spambots. You need JavaScript enabled to view it.,
get prp fortran
With kind regards -- Herman J. Woltring (via TELNET from UoNSW, Sydney)
=========================================================================
Date: Tue, 14 Jan 92 21:15:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Angle(s) et Axe d'Euler (1980/1984)
Dear Biomch-L readers,
In my posting of 8 October, I referred to Paul Volkmann in Germany who, about
one century ago, allegedly introduced the helical angles for the first time.
While this rumour has not yet been confirmed (see the ATTJOB TEX manuscript
mentioned earlier today on this list), a few hours ago I received a highly
interesting fax from one of our readers, Giovanni Legnani of the University
of Brescia in Italy.
It is a copy from section 1.4.4 "Angle et Axe d'Euler [6]" (note the singular
form "angle") in Alain Liegeois, LES ROBOTS, Vol. 7, Analyses des Performances
et C.A.O., Hermes Publishing (France) 1984. My translation of the most rele-
vant parts is as follows:
Another non-redundant and representative way for defining the rotation
is of the form N f(theta) which provides a vector in R3. The simplest
form is f(theta) = theta, resulting in the rotation vector
[Vrx] [nx theta]
Vr = [Vry] = [ny theta] (1-42)
[Vrz] [nz theta]
Except for the trivial case theta = 0 where N is indetermined, on can
derive from this
2 2 2
theta = +/- SQRT(Vrx + Vry + Vrz),
(1-43)
nx = Vrx/theta, ny = Vry/theta, nz = Vrz/theta
which define Euler's angle and axis.
The vector Vr can be calculated from the rotation matrix R since ...
( ... formulae omitted, similar to those in Spoor & Veldpaus,
Journal of Biomechanics 13(1980)4, 391-393 ... )
As regards the instantaneous rotation velocity of the rigid object,
this is simply
o
omega = N theta (1-47)
The reference [6] in the paragraph's title is:
[6] J.-C. Latombe, J. Mazer, D'efinition d'un langage de programmation
pour la robotique (L.M.). Rapport de Recherche No. RR 197, Labora-
toire de Math'ematiques Appliqu'ees et Informatique, Grenoble, March
1980.
At the present time, this is the earliest source for what (lacking a better
term) I have called `helical angles'. Note that the last equation presupposes
that N is constant; the ATTJOB TEX manuscript contains a more general formula
describing the case that both N and theta in the product
THETA = N theta
are time-varying. The book's next section, 1.4.5 "Angles d'Euler" (plural!)
seems to discuss the classical Cardanic/Eulerian angles -- I merely have its
first three lines.
Anyone in the readership who knows of an older reference in the published or
gray literature?
With kind regards,
Herman J. Woltring, Eindhoven/NL, FAX +31.40.413 744
=========================================================================
Date: Mon, 20 Jan 92 17:17:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Euler angles
Dear Biomch-L readers,
Further to my recent posting on Euler's angle and axis, I have obtained the
English translation of Liegeois' book:
Alain Liegeois, Performance and Computer-Aided Design
Vol. 7, Robot Technology Series
Hermes Publishing, London - Paris - Lausanne 1985
Following Section 1.4.4 on Euler's Angle and Axis, the next two sections
are concerned with Euler's Angles and Tate/Bryant (i.e., Cardanic) Angles,
i.e., those that describe three successive rotations about the axes of either
a fixed or moving, Cartesian co-ordinate system from a reference attitude (I)
to a current one (R).
Interestingly, the author states about *both* types of angles: "In general,
(these) angles are not easy to measure and it is better to limit their use to
the cases where the three rotations are actually carried out: for example when
the end effector of a Cartesian manipulator (ie an arm with three transla-
tions) is constructed such that the three successive rotations correspond to
linear functions of (these) angles." He does not motivate this preference,
though.
While the calculus of Eulerian and Cardanic angles is relatively simple once
we have an attitude matrix via photogrammetric, ultrasonic, or electromagne-
tic means, human movement is fortunately not confined to actually carrying
out these successive rotations when getting from I to R, or worse, from R1
to R2 ...
Herman J. Woltring, Eindhoven/NL
=========================================================================
Date: Mon, 27 Jan 92 20:13:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: 3-D vectors and inertial navigation systems
Dear Biomch-L readers,
In another posting today, reference was made to This email address is being protected from spambots. You need JavaScript enabled to view it. which,
it did appear, is not a list on robotics. Another query, onto the NA-net
list on Numerical Analysis last week was more succesful. This morning, I
received the latest issue with the response quoted below. Again, it appears
that similar things are (re)discovered in rather different fields, and that,
instead of reinventing the wheel and the gunpowder, it makes sense to look
around in other but potentially related disciplines ...
I have looked up the Bortz and Miller papers which provide some interesting
and complementary ideas. In particular, their interest is to assess attitude
angles from a measured rotation velocity vector; in addition to a concise
angular representation from a given attitude matrix, my interest is just the
opposite: to assess the rotation velocity and acceleration vectors from the
attitude matrix and/or angles.
Herman J. Woltring, Eindhoven/NL
- - - - - - - - - - - - - - - - - - - - - - - -
From: Daniel Johnson <This email address is being protected from spambots. You need JavaScript enabled to view it.;
Date: Mon, 20 Jan 1992 08:52:15 -0600
Subject: Re: 3-D Attitude "Vectors"
Sender: NA-net Numerical Analysis Digest, Vol. 92, Nr. 4
Herman J. Woltring asks about references to representing rotations as a
three-dimensional vector where the direction is the axis of rotation, and
the length is the amount of rotation. As a navigation house, we tend to
collect different ways of parametrizing rotations. We refer to his sug-
gestion as the "Bortz Rotation Vector", based on a paper by John Bortz in
1971:
A New Mathematical Formulation for Strapdown Inertial Navigation
John E. Bortz
IEEE Transactions on Aerospace and Electronic Systems
January 1971, Vol. AES-7, No. 1, pp 61-66
He refers to a report by J. Laning in 1949 which I have not looked at:
The vector analysis of finite rotations and angles
J. H. Laning, Jr.
MIT/IL Special Rept. 6398-S-3, 1949
Mass. Inst. of Tech., Cambridge
Some more recent references are
A New Strapdown Attitude Algorithm
Robin B. Miller
J. Guidance, Vol. 6, No. 4, July-Aug 1983, pp 287-291
An Accurate Strapdown Direction Cosine Algorithm
J. W. Jordan
NASA TN D-5384, Sept, 1969
The Bortz formulation is nice in that it has no singularities, has exactly
three free parameters, and has a closed form differential equation for the
rotation angle as a function of angular velocity. By taking lower order
approximations of that equation, it is possible to generate simple
algorithms of acceptable error for updating attitude given the angular
velocity. Typically it is used only for deriving the algorithms, however.
The actual attitude representations used internally in navigation systems
are still either the direction cosine matrix or quaternions.
Dr. Daniel P. Johnson Honeywell Systems and Research Center
e-mail: This email address is being protected from spambots. You need JavaScript enabled to view it. phone: 612-782-7427
US mail: MN65-2500, 3660 Technology Drive, Minneapolis, MN 55418
------------------------------
=========================================================================
Date: Thu, 27 Feb 92 11:30:00 MET
Reply-to: Willem van Driel <This email address is being protected from spambots. You need JavaScript enabled to view it.>';document.getElementById('cloak29874716de73698fc0d384667fc94996').innerHTML += ''+addy_text29874716de73698fc0d384667fc94996+'<\/a>'; ;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
Subject: Information on software
From: Willem van Driel <This email address is being protected from spambots. You need JavaScript enabled to view it.>';document.getElementById('cloak153d21b95ca82b5c73e8dc29ccb4f827').innerHTML += ''+addy_text153d21b95ca82b5c73e8dc29ccb4f827+'<\/a>'; ;
Dear Biomch-l readers,
Currently we, at the TNO Institute of Preventive Healthcare in Leiden, The
Netherlands, are doing a project on 3D kinematical modelling. First, an
inventory on existing models was made. Models using Cardanic/Euler angles
and models using helical axes were distiguished. The next step is the
acquisition of software based on these models for processing 3D marker
position data from our VICON-system. It would help us if any of you Biomch-l
readers could send information on such software (application, experiences,
areas, costs, addresses,.. etc). Any information can be send to:
Nico J. Delleman and Willem van Driel,
NIPG-TNO
P.O. Box 124 pcmail: Delleman%This email address is being protected from spambots. You need JavaScript enabled to view it.
2300 AC Leiden or: This email address is being protected from spambots. You need JavaScript enabled to view it.
The Netherlands
=========================================================================
Date: Sun, 1 Mar 92 12:46:00 MST
Reply-To: BOGERT@UNCAMULT>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: BOGERT@UNCAMULT>
Subject: RE: information on software
Dear Biomch-L readers,
Willem van Driel (This email address is being protected from spambots. You need JavaScript enabled to view it.) asked for information on software for
3-D kinematic analysis. If you require more than is available from
Oxford Metrics with their VICON system, you may have to develop your
own software. The advantage of this is, that you have complete flexibility,
i.e. you can develop for a very specific application. The disadvantage is,
that it would require a lot of work to give it a professional and user-
friendly front-end. This may be, or may not be an important consideration.
Anyway, if you develop 3-D kinematic software, you can obtain the essential
building blocks from the Biomch-L fileserver (free!). It is a collection of
Fortran subroutines, written by Herman Woltring. I use them for most of
my 3-D work, and can recommend using them. What you have to write yourself
is the 'housekeeping' work, such as reading the data, calling the appropriate
subroutines, and storing or displaying the results.
You can obtain a list of files by sending the message SEND BIOMCH-L FILELIST
to This email address is being protected from spambots. You need JavaScript enabled to view it. or This email address is being protected from spambots. You need JavaScript enabled to view it..
The relevant files are:
DLTDSP.FORTRAN : Fortran routines for the DLT (Direct Linear Transform),
to obtain 3-D coordinates from multiple 2-D camera data. Since this is
included in the VICON system, you probably do not need this. The file
also contains a subroutine DISP3D, which gives a least squares estimate
of rigid body position and orientation, using 3-D coordinates of N (>2)
markers on a body segment. You need something like this for all rigid-body
kinematic models. The file DLTDSP.README contains documentation, and test
programs.
GCVSPL.FORTRAN : The famous 'Woltring' spline package. I find this a very
useful tool to do interpolation, smoothing, differentiation, and re-sampling
of kinematic data. All operations are done at once. Other software
packages often do these steps sequentially, which makes things less
transparent. For example: first a linear interpolation to fill gaps in the
data, then low-pass digital filtering, then finite-difference differentiation,
and finally linear interpolation to resample at a different sampling
interval. Each step does some filtering, and in the end you don't know
anymore how your data have been filtered. GCVSPL does all this very
elegantly, without such problems. The cut-off frequency of the filter can
be specified, or can be optimized by GCVSPL if you know the noise level
in your data. The noise level can even be estimated by GCVSPL using the
generalized cross-validation (GCV) criterion.
PRP.FORTRAN : Routines to calculate Euler/Cardanic or Helical angles from
rigid-body orientation matrices (obtained using the routine DISP3D).
Routines for the reverse operation are also included.
Files can be retrieved by sending SEND <filename> <filetype> to LISTSERV.
I have used DISP3D, GCVSPL, and PRP, and found them very useful. The source
code is well documented, in the sense that it contains detailed instructions,
and literature references concerning the numerical methods. The internal
working of the routines is not easy to follow, but that is not necessary.
I have never encountered any bugs.
-- Ton van den Bogert
Human Performance Laboratory
University of Calgary, Canada
=========================================================================
Date: Mon, 9 Mar 92 10:17:27 PST
Reply-To: Ravi's account <macorp!This email address is being protected from spambots. You need JavaScript enabled to view it.>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: Ravi's account <macorp!This email address is being protected from spambots. You need JavaScript enabled to view it.>;
This is with regards to the posting on 3D transformations. This information
is available in any classic Computer Graphics textbook. I find the following
an excellent source of information for the above:
Computer Graphics by Donald Hearn / M. Pauline Baker
Prentic Hall 1986
In summary, Mr. Thomas' goal can be achieved with involves transformations:
the four basic ones are:
translation
3D rotation about X axis
3D rotation about Y axis
3D rotation about Z axis
Each of the individual rotations can be achieved by fairly simple
matrix multiplications.
I hope that helps.
Ravi Narayan
Motion Analysis Corporation
This email address is being protected from spambots. You need JavaScript enabled to view it.
=========================================================================
Date: Tue, 10 Mar 92 12:44:59 PST
Reply-To: Ravi's account <macorp!This email address is being protected from spambots. You need JavaScript enabled to view it.>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: Ravi's account <macorp!This email address is being protected from spambots. You need JavaScript enabled to view it.>;
Regarding my posting on 3-D transformations, I received the following
response.
Response from This email address is being protected from spambots. You need JavaScript enabled to view it. Tue Mar 10 07:20:33 1992
This is in response to your recent posting on BIOMCH-L regarding 3D rotations.
In giving the sequence of rotations you did not clearly indicate the three
axes the rotations are performed about. The traditional interpretaion
is they are about the axes of the Cartesian system located in the moving
body. These axes are not independent degrees-of-freedom and thus the
final displacement is effected by the order in which the rotations are
performed. An alternate interpretation is that the first rotation is
performed about the x-axis in the stationary system and the last rotation
is about the z-axis in the moving system. The intermediate rotation,
y-axis inthe case you gave, is about the common perpendicular to the
global system x-axis and moving system z-axis. These three axes
are independent degrees-of-freedom and rotations about them are
are sequence independent. That is, the resulting displacement does not
depend on the order in which the rotations are preformed.
Sincerely,
Ed Grood
Cincinnati, Ohio
My response to Ed's response:
I agree with Ed Grood on the above. However I personally
prefer to use the tradition Cartesian system approach for two
reasons. (My previous posting assumed the non-independent approach).
(1) In most applications, the emphasis is on transforming an
object from a starting position A to a final position B. The
actual sequence is irrelevant as long as one can reach from A to
B. The interest is in the beginning and final state and not the
actual path. I find the matrix manipulation extremely suitable to
this approach. This approach is the same if you consider all the
axes to be stationary and the object moving relative to them.
(2) I cannot relate in physical terms to the sequence independent
approach, since one axis is stationary and the others are moving. I
find it difficult to attach any physical meaning to this approach.
It is a mathematical curiosity that this method works, and frankly
I am surprised that it even works.
Maybe Ed or someone else can enlighten me on (2).
Ravi Narayan
This email address is being protected from spambots. You need JavaScript enabled to view it.
=========================================================================
Date: Tue, 10 Mar 92 22:04:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Dear Biomch-L Readers,
I will try to answer the questions posed by Ravi Narayan in his recent
posting. Hopefully I will succeed in providing the physical relevance
he seeks.
Let us start by displacing a body by rotations phi, theta, psi performed
about the X, Y, and Z axes of a global system. These are the rotation axes
that Ravi suggested.
Let us further assume we are viewing the displaced body on a graphics
termninal, but the view is not suitable. We want to change the view
and can only do this by adjusting the three angles phi, theta, and psi.
In order to obtain the proper view we must understand what displacement
will result from a change each angle, one at a time. We can visualize
these motions easily by understanding the rotation axis which they occur
about.
In the case at hand, a change in the angle phi (dphi) will not rotate the
displaced body about the global X axis. Rather, it will displace it about
its own x axis. It is the x axis in the moving system that gives physical
significance to the angle phi.
In a similar fasion we find that a change in the angle psi (dpsi)
will cause the moving body to rotate about the global Z axis. It is
the global Z axis that defines the orientation of the psi rotation axis.
That is, it give physical meaning to the psi rotations.
A change in the angle theta (dtheta) will cause the moving body to be
tilted so as to change the angle between the global Z and moving x axes.
This rotation occurs about their common perpendicular. This axis is
not fixed in either the global or moving systems.
These three axes play the same role in defining the physical meaning of
the rigid body orientation coordinates phi, theta, and psi that the axes
of a Cartesian system play in defining the physical meaning of the particle
position coordinates X, Y, and Z.
None of the math described by Ravi changes. While it is nice to think of
the three rotations as occuring about the axes of the global system,
these axes do not define or describe the three independent rotational
degrees-of-freedom that correspond to the angles phi, theta and psi. The
independent degrees-of-freedom for these angles are the moving x axis (psi),
the global Z axis (phi), and their common perpendicular (theta).
The astute reader will note the axes described here are different
from those in my prior posting. The reason for this is that here I
am discussing rotations that were performed about the axes of the fixed
global system. In the prior posting I assumed the rotations were about
the axes of the moving system.
I hope this clarifies my prior posting. If past experience holds, it
will probably generate more questions. I will be happy to try to
answer them.
Ed Grood
University of Cincinnati
Phone 513-556-4171
FAX 413-556-5162
Email This email address is being protected from spambots. You need JavaScript enabled to view it.
=========================================================================
Date: Wed, 11 Mar 92 11:22:55 EST
Reply-To: This email address is being protected from spambots. You need JavaScript enabled to view it.
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: This email address is being protected from spambots. You need JavaScript enabled to view it.
Subject: 3-D Rotations
Ravi,
There are two major reasons for using Euler angles for
describing kinematic rotations in biomechanical models.
First, you often want a coordinate system that moves with
the body segment of interest. The anatomy, e.g. tendon
insertions, skin surface, etc, will be described with
respect to a coordinate system attached to the moving body
segment. You then need to be able to describe this anatomy
in terms of a global system using coordinate system
transformations (Buchholz and Armstrong, 1992 J.Biomech 25:
149-162). Second, the Euler angles corespond to physiogical
joint angles as long as, as Ed Grood said, the order of the
rotations is considered (Chao et al, 1976, J.Biomech 9:387-
396). The description of rotation requires three
independent terms, the Euler angles. I believe your method
will still require the definition of nine direction cosines.
Sommer and Miller (1980, J.Biomech.Eng. 102: 311-317)
provide a good description of these techniques.
Bryan Buchholz
Work Environment
U-Mass Lowell
=========================================================================
Date: Thu, 12 Mar 92 05:43:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Rotational freedom axes ?
Dear Biomch-L readers,
Just a minor point in the rekindled debate on attitudes ("where are we"),
rotations ("how do we get there"), and the like. I wonder if Ed Grood could
explain to us how coordinate axes can be `degrees of freedom'? In my mind,
d.o.f.'s are just purely dimensionless numbers, typically, the minimum number
of so-called independent parameters needed to describe the state of some
parametric model. In 2-D kinematics, these might be just the current position
(2) and attitude (1), adding up to 3 d.o.f.'s, but one might also consider
instantaneous changes, and take along the velocities, accelerations, etc.,
thus increasing the nummber of free and independent state parameters to 6, 9,
etc. In 3-D, these d.o.f. numbers would be 6, 12, 18, etc.
In contemporary parameter and state estimation, this interpretation of the
notion of d.o.f.'s is customary.
In the case of gimbal lock when using Cardanic angles, we certainly have
one *very* independent `d.o.f.': in this case, either the sum or difference
of the Cardanic angles is completely undefined! If we are close to gimbal
lock, this sum or difference will be very noisy, and thus maintain its inde-
pendence to the best of its ability :-)
Generally, parameters may be partially correlated, and the notion of d.o.f.'s
becomes more fuzzy. In splined data fitting, for example, one can design a
spline model where about 1 parameter is needed per datapoint (this is the
situation in the GCVSPL package). By setting the amount of smoothing to
infinity, the spline degenerates into a simple polynomial. Yet, we still
need to have the same number of spline parameters, even though the `indepen-
dent' number of parameters now equals the order (i.e., the degree + 1) of
the polynomial. Hence the use in spline statistics of the notion `effective
number of free parameters', related to the trace of a particular matrix.
One disadvantage of email debates is that is is rather difficult to use
pictures. Thus, we often wind up in a Babylonian confusion where words
are interpreted differently, depending on one's background. As with pub-
lished papers, we must try and imagine how our words will be understood by
the readership ...
Herman J. Woltring, Eindhoven/NL
=========================================================================
Date: Thu, 12 Mar 92 04:51:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
INTRODUCTION
I would like to take the recent postings on 3D transformations as an excuse
to further elaborate my own thoughts on 3D rotations and the relationship
between Euler/Cardanic (E/C) angles and Joint Coordinate (JC) angles
described by Fred Suntay and I (J. Biomech Eng, 1983). My motivations for
this posting are to provide a rebuttal to some points made by Herman
Woltring in recent and past postings and by Jim Andrews in a letter to J.
Biomech. some years back. Specifically I would like to refute the concept
that the axes of the JC system should be interpreted either in terms of a
sequence of temporal rotations about the axes of either a local or global
coordinate system or as a geometrical sequence corresponding to a
predefined electrogoniometer. The simple fact is that the JC axes are just
three lines in space whose orientation is to be specified relative to some
physical objects whose relative motion is to be described. In this way JC
axes are exactly like Cartesian coordinate system axes. They are lines whose
orientation relative to real objects is used to define the degrees-of-freedom
we want to employ to describe the motion.
INDEPENDENT ROTATIONAL DEGREES-OF-FREEDOM
I will start be re-affirming that there are three independent axes that
define the three independent rotational degrees-of-freedom (d.o.f.) between
any two rigid bodies, just as there are three axes that define the three
transnational degrees-of-freedom of a particle. However, the three axes of
a Cartesian system used for describing particle motions are not the three
axes that describe the independent rotational d.o.f.
The three axes which define the independent rotational degrees-of-freedom
are the axes of the JC system. Two of the axes of this system are "body
fixed" (one in each body) while the third axis is the common perpendicular
to the body fixed axes. I will not repeat proofs here that the rotations
about these axes are independent or that the final displacement between the
two bodies is independent of the order in which the rotations are
performed.
In describing the rotational motion between two rigid bodies, the two body
fixed axes should be selected so that rotations about them correspond to
physically meaningful motions. This is exactly what we do when we select
a particular Cartesian system to analyze particle motions.
It is important to note that equations can be derived for the elements of
the rotation matrix in terms of magnitude of the rotations about JC system
axes. Since the rotation matrix is itself expressed in some Cartesian
system, the orientation of the Cartesian system axes in both the local and
global system must also be specified to carry out the derivation. This
derivation can be done on a purely geometric basis without considering any
temporal sequence of rotations. Such a purely geometric derivation of the
rotation matrix was presented in the paper with Fred Suntay cited above.
EULER/CARDANIC ANGLES
Once the Cartesian Systems are specified it is also possible to develop
formulae for different sets of E/C angles. These different sets correspond
to different sequences of ordered rotations performed about the local (or
global) Cartesian axes. Shames (Engineering Mechanics, Prentice Hall)
noted that the axes of the Cartesian system do not define the independent
rotational degrees-of-freedom. Still, it is possible to derive expressions
for the elements of the rotation matrix in terms of the E/C angles. These
derivations are available in many texts including Goldstein's book on
Classical Mechanics.
WHAT INDEPENDENT AXES CORRESPOND TO E/C ANGLES
Since the axes of the Cartesian systems do not define the independent
d.o.f, an interesting question presents itself. What independent
rotational d.o.f. correspond to E/C angles? The axes that define the
d.o.f. can be determined by changing the magnitude of each E/C angle, one
at a time. When each angle is altered, a new rotation matrix will be
produced, corresponding to a new position. According to Euler's Theorem,
the displacement between the two positions (from before to after the angle
change) can be described by a rotation about some axis in space. It will
be found that each angle has its own unique axis. This axis will not
depend upon the magnitude of the incremental rotation. In fact, the axes
will have the properties of JC axes. One will be fixed in each body and
the third will be their common perpendicular.
This exercise shows that when one specifies the analytical form of the
rotation matrix one also specifies the independent d.o.f. and thus the
physical orientation of the corresponding rotation axes. Different JC
systems will correspond to different functional forms of the rotation
matrix. As noted above, these relationships can be developed without any
consideration to ordered rotations. They are totally based on geometry.
RELATIONSHIP BETWEEN JC SYSTEM AND E/C ANGLES
The connection between JC system axes and a sequence of ordered E/C angles
is best understood as follows: Start with the Cartesian systems aligned
and the JC system axes chosen so they have the same orientation as some of
the Cartesian system axes (they do not need to be so aligned but it
simplifies their use.) Consider now rotations performed about each of the
three JC system axes. Roth, Chao and Suntay and I have all shown that the
final position will not depend on the order in which these rotations are
performed (although the path taken will.) Of the six possible orders one
will also correspond to rotations performed about the local Cartesian
system axes and one to rotations about the global system axes.
For example, for the JC system rotations to also correspond to rotations
about the local Cartesian system axes, the first JC system rotation must be
about the axis located in the global system. This axis will also coincide
with a local system axis because the two systems are initially aligned.
Further, the resulting rotation will leave the remaining two JC system axes
still aligned with local system axes. The second rotation must be about
the common perpendicular to the two body fixed JC system axes. This leaves
the final rotation to be about the JC system axis fixed in the local
system. The reverse order must be used if the rotations are to be made
about the global system axes.
THE TEMPORAL INTERPRETATION OF JC AXES IS INCORRECT
THE TEMPORAL SEQUENCE IS INHERENT TO THE E/C ANGLES
The so-called temporal interpretation of JC system axes results from the
existence of the above two ordered sequences. Since the JC system axes can
be defined on a purely geometric basis, the temporal sequence is not part
of their character. It is, however, an inherent part of the character of
rotations performed about the Cartesian system axes.
Selecting a specific JC system is equivalent to specifying the independent
rotational d.o.f. to be used to describe the motion. This is identical to
selecting a specific Cartesian system to describe particle kinematics. It
should always be done prior to analyzing a problem. In Herman Woltring's
terms, the systems should be predefined.
If the independent rotational d.o.f. are specified (ie. the JC system is
defined) there will be only one sequence of ordered Cartesian axes
rotations that will correspond to the independent rotational d.o.f. Only
this one sequence of rotations will yield the same functional form of the
rotation matrix as that which was previously developed based upon the
geometry of the JC system axes. It is in fact impossible to derive
expressions for the rotation matrix in terms of E/C angles without
specifying a temporal sequence of rotations. In contrast, only pure
geometry is needed to derive expressions for the same rotation matrix from
JC system axes.
SEQUENCE DEPENDENCY OF EULER/CARDANIC ANGLES
We are now able to understand the sequence dependency of rotations
performed about local (or global) Cartesian system axes. Different
sequences actually correspond to using different independent degrees-of-
freedom. (ie. different JC system axes.) Of course the final position of
the two sequences will be different. The rotations are being applied about
axes with different physical orientations and thus have different physical
meaning. It does not matter that the magnitude of the rotations are the
same.
The same artifact of sequence dependency also occurs for particle
displacements performed along the axes of two differently oriented
Cartesian systems. The different orientations of the axes gives them a
different physical meaning. The same x, y, and z displacement applied to a
particle in each system will produce different final positions. This is
because the displacements have different physical meanings. It does not
matter that the magnitude of the displacements are the same.
THE JC SYSTEM IS NOT A 3D ELECTROGONIOMETRIC SYSTEM
Herman Woltring has, on several occasions, referred the JC system as a 3D
electrogoniometric system. I believe this terminology is inappropriate and
possibly even misleading. The JC system is a pure geometric system. It is
not based in a measurement device any more than is a Cartesian coordinate
system. This does not deny the fact that electromechanical devices can be
designed and fabricated to directly measure the coordinates of both
systems. In spite of this I can think of no reason to use this fact to name
either system, else we would be referring to x-y-z stage systems!
CLOSING
If you made it to this point you must really be interested in the
description of 3D rotations. Thank you for taking the time to wade through
my lecture! Hold on for more as I am sure Herman Woltring will have many
interesting points to make in response.
Sincerely,
Ed Grood
University of Cincinnati
=========================================================================
Date: Thu, 12 Mar 92 04:53:00 EST
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: Degrees of Freedom and Coordinates
Dear Biomch-L Readers,
One of Herman Woltring's recent posting had the subject "Rotational
freedom axes ?" He then asked me how coordinate axes can be 'degrees
of freedom'?
First, I hope I never used the phrase 'rotational freedom axes'. It
makes no sense to me and I would regard it as incorrect.
Futher, I agree with Herman's concept of degrees-of-freedom. This term
refers to the number of independent coordinates required to completly
characterize some system. As Herman noted, the number of d.o.f. of a
system is a dimensionless number. However, the independent coordinates
actually used to characterize the system do have dimensions.
When applied to describing the attitude of an unconstrained rigid body in
three dimensions there are three degrees-of-freedom (d.o.f.). Thus it takes
three coordinates, one for each d.o.f. to characterize rigid body attitude.
Typically, there is no unique set of coordinates that describe the d.o.f.
For example, the position of a particle in 3D can be characterized using
rectangular coordinates, cylindrical coordinates, or spherical coordinates
too name just a few systems. Now these coordinates are not abstract numbers.
They have some physical interpretation and units associated with them.
Rectangular coordinates all have units of length. Cylindrical coordinates
have mixed units. Two have units of length and one angular units.
Now the rectangular coordinates are measured along some well defined
physical directions. The directions are defined by the orientation of
the axes of the rectangular system. That is, the axes give a physical
meaning to each coordinate and therefor to each degree-of-freedom.
If we rotate the rectangular system, we still have three coordinates and
each still has units of length. However, the physical direction of the
axes has changed. This changes the physical meaning of each coordinate
and thus of the degree-of-freedom we use to describe the particle's position.
It is in this same sense that I refer to the axes of the Joint Coordinate
system as defining (or describing) a rotational degree-of-freedom. It
provides a physical meaning to that d.o.f., ex. a rotation about a specific
line in space. The magnitude of the rotation is given by the angle
of rotation performed about the axis. The angle is the coordinate. The
angle, however, has no meaning by itself. It can only be understood in terms
of the specific axis it is associated with.
A similar situation exits for the rectangular coordinates. The magnitude
of the x coordinate has no meaning unless you know the physical direction
chosen for the x axis.
There are clearly many different ways to decribe 3D attitude. Each way
provides a different physical interpertation to the individual degrees-
of-freedom. Of these many ways of describing 3D attitude, there is a subset
which is based upon using rotations about the axes of the Joint Coordinate
system.
The physical meaning of JC system angles is dependent only on how
the JC system axes are oriented with respect to the geometry of the rigid
bodies whose relative attitude is to be characterized. All the different
sets of Euler/Cardanic angles merely correspond to different orientations
of the JC system axes.
Herman, thank you for raising the question and giving me the opportunity
to express these fundamental concepts. They are essential to understanding
my ideas. I would not have thought of sharing these concepts on my own.
Sincerely,
Ed Grood
Cincinnati, Ohio
=========================================================================
Date: Thu, 12 Mar 92 11:10:00 MET
Reply-To: "Giovanni LEGNANI. University of Brescia - Italy - European
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Giovanni LEGNANI. University of Brescia - Italy - European
Community" <LEGNANI@IMICLVX>;
Subject: Euler/Cardan one again!
Dear biomch-l readers,
It seems that the discussion about angles and orientation parameters is
always in the Headlines. So I want also to add a few thoughts. They
probably do not give the answer to the actual questions but they can help
in looking at the problem from another point of view.
Let me talk about the Eulerian and the Cardanic conventions. One of the
problems that always returns in the discussion is the choice and the
definition of the axes around which the three rotations are performed.
Fixed axes? Axes of the mobile frames? Floating axes? .... What is
the best, and why? Are the angles sequenced and/or time independent?
Of course there is not a final answer to all of these questions, but what
is important to say is that each convention can be described in different
modes. Each mode highlights different properties. What seems "something-
INdependent" in one approach could look as "something-dependent" in another.
First of all let me remind you that there are 6 different Cardanic Conventions
and 6 different Eulerian conventions. Let me use as an example the Euler
Angles that are one of the Eulerian conventions.
Let us call x0, y0, z0 the axes of the fixed frame and xm, ym, zm the axes
of the mobile frame. Let me call alfa, beta and gamma the three angles of
precession, nutation, and rotation. Let us consider two planes:
The first is the plane defined by x0 and y0
the second by xm and zm
The two planes intersect in an axis called the Axis of Nodes indicated as N.
Then alfa is the angle between x0 and N,
beta is the angle between z0 and zm
gamma is the angle between N and xm.
That is enough to build the rotation matrix between the mobile and the
fixed frame!!!!!
Many people don not like to use this geometric description of the Euler axis
and prefer to think that the final position of the mobile frame as the result
of three IDEAL different rotations. According to this approach the mobile
frame is initially coincident with the fixed frame x0 yo z0. As a first step
the mobile frame is initially rotated by an amount alfa around z0 and it
reaches the position x1 y1 z1. Then the frame is rotated by an amount beta
around x1 and it reaches the position x2 y2 z2. Finally it is rotated by an
amount gamma around z2 reaching the final position xm ym zm.
An alternative but EQUIVALENT sequence of ideal rotations is
alfa around z0
beta around x0
gamma around z0
A fourth way to describe the SAME angular convention could be the following.
1) choose an axis (A) on the fixed frame
2) choose an axis (C) on the mobile frame
3) fix a "floating" axis (B) that is always orthogonal to both A and C.
If the choice of A and B is appropriate, then alfa is the rotation around A,
beta is rotation around B and gamma is the rotation around C.
The fifth way to see the Euler angle is to ideally connect the fixed and
the mobile frames by a Cardanic joint (Universal Joint). If the position
of the joint in the reference situation (when the mobile and fixed frames
are parallel) is appropriate, then the three rotations of the joint are
once again the Euler angles.
There are possibly other ways to look at the Euler angles, but 5 are enough
for me.
Any way, the final rotation matrix for the Euler angles is
rot(z,alfa) rot(x,beta) rot(z,gamma)
Any problem related with the angles can be seen in each representation. For
example the singular position is when the planes x0-y0 and xm-ym coincide
and then the node axis is not defined. That means that the "floating axes"
is not defined (it is the nodes axes). and so on ....
All of these representations could be applied to each of the Eulerian and
Cardanic convention. By the way, referring to the representation of the
rotation about axes the fixed frame the 12 convention are the following
Cardanic Eulerian
cyclic xyz yzx zxy xyx yzy zxz
anti-cyclic zyx xzy yxz zyz xzx yxy
SO THERE ARE ONE HUNDRED AND ONE WAYS TO SKIN THE CATS BUT THE RESULT IS
ALWAYS THE SAME!!!
So I believe that the question "which is the better definition of the angles"
could be divided into two parts:
1) Which cardanic or eulerian convention is the best?
2) what is the best way to describe it
The first question is the relevant one but probably there is not a final
answer that suits any situation.
The second one is not scientifically relevant because all the ways are
equivalent, however some of the ways could be better understood in certain
situations.
.....
.....
I just hope that this e-mail paper may help in tidying up some basic concepts.
I would not be long, but I was .... Please forgive me.
Bye
Giovanni Legnani
=========================================================================
Date: Thu, 12 Mar 92 15:56:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Occam's razor: rotations or attitudes ...
Dear Biomch-L readers,
Up to now, the rekindled rotations v. attitude debate does not seem to provide
many new viewpoints with respect to those already brought up in the past. If
I understand things correctly, the main points are:
(a) whether or not pose (position and attitude) representation for *parsimo-
nious interpretation purposes* should take place via physical or mental
steps of moving along and about certain local and/or global axes, in
order to get from one pose to another;
(b) is Ed Grood's JCS something more general, universal, or fundamental than
an abstract rendering of the properties of a 3-D electrogoniometer;
(c) is it necessary or prudent to confine the debate to Cardanic and/or Euler
angles -- even though these seem to dominate in classical handbook descrip-
tions of 3-D rigid-body movement and might, therefore, be rather popular
in Biomechanics?
As shown by Bottema & Roth in their bible "Theoretical Kinematics", Chapter 3
(Elsevier, Amsterdam 1979), it is not possible to find some kind of attitude-
representing angles whose derivatives are always equal to the rotation velocity
vector. Position vectors, however, can be differentiated into translation
velocity vectors (I'm assuming no discontinuities: biomechanics is concerned
with real life). Conversely, one may integrate the translation velocity vec-
tor in 2-D or 3-D over a time interval and obtain as a result the translation
vector between the beginning and end positions. The same applies for the
total rotation when integrating the scalar rotation velocity in 2-D.
If one tries to integrate the rotation velocity vector for general, 3-D move-
ments in the case of a direction-changing rotation velocity vector, something
strange occurs: the resulting angles are not any set of projected, Cardanic,
Eulerian, or `helical' angles whence one might assess the attitude matrix that
maps the moving body's initial attitude onto its final one (I'm happy to leave
the proof to interested scribblers and users of symbolic algebra). In a re-
cent paper in the Journal of Biomechanical Engineering, the rotation velocity
component along the longitudinal axis of a body segment was integrated over
time in order to obtain the total amount of axial rotation performed by the
moving segment. If one wishes to know this amount of rotatory movement during
an epoch (I would not know why, though), one can certainly do so; however, the
resulting, angular value cannot, in general, be interpreted as a component
attitude angle.
All these things should make us suspicious about the (non)vectorial nature of
3-D attitudes and of the (physical or imaginary) rotations used to attain them.
I remain uninterested in representing the attitude of an object (whether it is
a segment or a joint) in terms of special movements, whether or not they are
needed, possible, `useful', or `meaningful'. **The state of a system (here,
its attitude) is different from the path or trajectory in state-space along
which it is, or can(not) be, reached** .
As contended at previous occasions, it is, in my mind, more relevant to
represent the pose of an object in a reliable and unequivocal manner;
Cardanic/Eulerian/projected angles would appear to fail in these respects.
Hopefully, the debate will focus on finding attitude representers which are
not only classical but also reliable and parsimonious; I'm curious about the
views of the ISB Committee on Standardisation and Terminology on these matters.
HJW.
P.S.: At gimbal lock, one of the three parameters of the Cardanic/Eulerian
conventions is completely redundant; in this particular attitude, only 2
degrees of freedom are needed to describe the JCS ...
It would be nice if someone could determine the statistical generalization
of the number of d.o.f.'s for these conventions as a function of the floating
angle phi. I suspect that it might be something like 2 + cos^2(phi), i.e.,
continuously varying between 2 and 3 as a function of our mystic floating
angle which cannot, in general, be identified with an anatomy-bound line in
segment or joint.
=========================================================================
Date: Fri, 13 Mar 92 23:21:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: Further Comments on 3D attitude
Dear BIOMCH-L Readers,
This will probably be my last message for a while on the issue of 3D rotations
as I am leaving on sabbatical at the end of the month. There are a few points
I want to make before I leave.
1. I do not think Euler/Cardanic or JC system angles are the
only or best way to describe the motions of joints. They are
better adapted for some joints than others. Specifically, Andy
An has published an approach for the shoulder that, in my mind,
is more useful in that joint than Euler angles.
2. Because Euler/Cardanic angles are useful in many situations,
there is no reason to avoid using them. The JC system provides
the underlying geometry for these angles and facilities there use
by removing the artifact of sequence dependency.
3. My own recent comments have been motivated by Herman Woltring's
proposal to adopt a standard for describing attitude. In my last
two postings I have addressed some of his statments regarding
the Joint Coordinate System that I believe are incorrect or
misleading. It should be obvious that this still leaves a large
body of his comments that we agree on.
4. The finite rotation axis is an excellent way to describe 3D
attitude in many cases. I encourage its use by all, along
with other approaches like JC system angles.
5. I strongly disagree with Herman's approach of only looking for
a mathematically convienient representation of joint angles.
Physical (geometric) interpretation of abstract mathematics
has been a cornerstone of the physical sciences. There is no
reason to drop this approach. I especially dislike the attitude
vector because its components do not have a simple geometric
interpertation.
I want to elaborate on this point a bit by indicating how the geomerty
behind the attitude vector components can be determined. I will also
make predictions about what will be found. The challange to Herman
is to follow up and provide us with the results.
Since the finite rotation axis can have any orientation and magnitude, it
must be possible to have two such axes that differ in only one component.
As each axis corresponds to a single joint position, there must be a third
finite rotation axis that corresponds to the displacement between these two
positions. In this way we have identified the rotation axis that changes
only one component of the original attitude vector. This axis provides the
geometric interpertation of a change in that attitude component.
Several questions immediately arise. First, what is the direction of this
axis? Is it in the same direction as the the coordinate axis used to
define the attitude component that was changed? Stated differently, what
is the direction of the rotation axis that changes just the x component
of the attitude vector? The second question is whether the direction of
this rotation axis depends on the magnitude of the change in the attitude
component?
I hope Herman does not dismiss these questions out of hand on a metaphysical
or philosophical basis. If he is to reccommend that every one use the
attitude vector, I think he should also show us how to interpert changes in
its components.
I will predict the following unpleasent results. First, the rotation axis
that changes just one component will not be directed along the axis that
defines the component, except possibly for some special cases. Second, the
direction of this axis will likely depend on the magnitude of the change
in the component. Even if these predictions are correct, there is still
a possibility that the effects are sufficiently small that they can be
neglected in practice. In this case, it would be important to know when we
can neglect these effects and when we can not.
For Herman, or anyone else who wants to pursue these questions, I recommend a
paper of Bernie Roth's entitled "Finite-Position Theory Applied to Mechanism
Synthesis" in ASME Transactions, Journal of Applied Mechanics, pp 599-605,
1967. This paper provides equations for the magnitude and orientation of the
screw which is the resultant of adding two screws. The paper also contains
the roots of the derivation of sequence independency of electrogoniometer
angles that Ed Chao published in his paper on the justification of the
triaxial electrogoniometer.
Sincerely,
Ed Grood
University of Cincinnati
Cincinnati, Ohio, USA
=========================================================================
Date: Sun, 15 Mar 92 22:54:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Alibi and Alias (Rotation and Attitude)
Dear Biomch-L Readers,
By way of a final reply to Ed Grood's posting the other day, I'd like to make
the following remarks:
(1) I have tried to show at previous occasions that Cardanic angles are, on
the whole, less suited for reliably and efficiently representing 3-D atti-
tudes than the components of the attitude vector. N.B.: Cardanic angles
are understood to pertain to the 6 sequences about 3 different, Cartesian
coordinate axes: XYZ, XZY, YZX, YXZ, ZXY, and ZYX, while the term "Euler
angles" has two different meanings in the literature: (a) the 6 different
sequences with identical, terminal coordinate axes, i.e., XYX, XZX, YZY,
YXY, ZXZ, and ZYZ, and (b) the union of these two cases, with all 12
different sequences denoted by this name. Interpretation (a) is common
in the engineering literature, while (b) prevails in the mathematics and
physics literature. As an engineer, I prefer the former one.
Euler's original 1748 publication provides the description of attitude
matrices in terms of an XYX convention. Since this convention has gimbal
lock at the reference attitude, it is not suited for representing segment
and joint attitude in the majority of biological situations. Because Ed
uses the term Euler/Cardanic angles first and than claims that Andy An's
approach for the shoulder is better than Euler angles, I am at loss with
what he means: it is precisely at the shoulder that Cardanic and Euler
angles fail completely -- assuming that the neutral attitude corresponds
with what is commonly known as the anatomical `position' or pose: whatever
Cardanic or Eulerian convention is adopted, gimbal lock can occur at the
shoulder.
(2) From a standardization point of view, it is useful to adopt one common
standard if it helps to avoid confusion between different approaches.
Furthermore, there are some (what I feel to be) more objective arguments
explained elsewhere, and I would disagree that the JCS/Cardanic angles
provide a better, geometrical interpretation than the orthogonal components
of the attitude vector. I am happy to admit that they cannot, in general,
be directly measured like Cardanic (or Euler) angles, but that is not, in
my mind, relevant for *reliable and efficient* representation purposes.
Incidentally, Ed does not *remove* what he calls the artefact of sequence
dependence, he merely *selects* a particular sequence, and thus eliminates
sequence dependence problems in the remainder of his work. One might note
that Ed (and some with him) apparently wish to confine the use of the word
`sequence' to time, i.e., to a temporally ordered sequence of rotations
about the coordinate axes of one selected, Cartesian co-ordinate system.
Conversely, I have tried to demonstrate the equivalence between his inter-
pretation and the geometrically ordered sequence of single rotation axes
imbedded in two different Cartesian coordinate systems plus their inter-
vening, common perpendicular: the so-called floating axis. Interestingly,
at gimbal lock, the direction of the floating axis is undefined, but the
amount of Cardanic rotation about it is known (+pi/2 or -pi/2); conversely,
the imbedded, terminal axes in the two different coordinate systems are
defined (they are parallel), but the amount of rotation about each of them
is undefined: merely their sum or difference is determined at gimbal lock.
Close to gimbal lock, the direction of the floating axis and the values of
the terminal angles are ill-determined for noisy data.
(3) I sincerely hope that I have been neither incorrect nor misleading in my
email or paper comments on the de-facto standard that Ed's JCS seems to
have become to many in the field. As may be clear from the above and from
subsequent remarks, I feel that we are sometimes endulging in metalinguis-
tical (not metaphysical) discourse, i.e., on the semantics of our expres-
sions. Hopefully, the ISB Committee on Standardization and Terminology
will also address this problem: we should avoid any Babylonian confusion
if a debate of this kind is to help us in understanding issues rather than
to confound them.
(4) I hope also that alternative conventions, including de-facto and proposed
standards, be tried out in the field; from the published results, proper
recommendations and decisions will undoubtedly follow.
(5) Finally, I would contest Ed's claim that I am "only looking for a mathema-
tically convenient representation of joint angles". Not convenience (*)
but *appropriateness* (correctness, determinacy, independance, regularity,
symmetry, orthogonality, etc.) are, in my mind, the issues at hand. Decom-
posing a physically meaningful attitude vector into orthogonal components
which cannot, in general, be implemented in some mechanical device is, in
my mind, quite sufficient if they have other, beneficial properties not
available for physically implementable, generally nonorthogonal alternati-
ves.
The above are my replies to Ed Grood's 5 points of last Friday. As regards his
subsequent statements, I'd like to continue as follows.
(a) Vectors and linear subtractivity
Unless I am mistaken, Ed has rephrased in verbal terms the non-vectorial nature
of any set of 3-D attitude angles, challenging me subsequently to prove that
they possess the standard, vectorial property of linear subtractivity. While
the relation between the Cartesian components of two position vectors P and Q
and the translation vector D = Q - P describing a change of position from P to
Q can, indeed, be expressed as
(dx,dy,dz)' = (qx,qy,qz)' - (px,py,pz)' (1)
such a linear relationship does not, in general, exist for orthogonal compo-
nents of 3-D attitudes. Thus, the difference dz = qz - pz (if dx = dy = 0)
meets Ed's desired property for translations, but this is not generally feas-
ible for the components of the attitude vector in *one Cartesian* coordinate
system. If I understand this properly, Ed wishes to sacrifice Cartesian
orthogonality -- with its property of maximal independence between coordinate
components -- for the component shift property shown above for pure transla-
tions.
I feel that this shift property, while elegant and `convenient', is less rele-
vant for meaningful attitude description than various other properties. I'd
like to maintain that the way how to get somewhere is not needed to explain
where we are (alias via alibi, cf. below). Actually, the above shift property
is reasonably preserved in the orthogonal components of the attitude vector,
whereas the two terminal, Cardanic rotations become highly correlated close to
gimbal lock as stated above. That is, changes in either of the two terminal
angles have (almost) the same effect on JCS attitude; while the JCS does have
the shift property, linear subtractivity in one component is not a unique
descriptor of the relation between poses and displacements at gimbal lock.
In my mind, linear subtractivity looses, therefore, much of its meaning and
utility.
(b) Interchanging moving and reference systems
In his final paragraph, Ed refers to a paper by B. Roth that seems to explain
why helical displacements are additive and commutative. I believe that we have
our central interpretation problem already in this work. Attitude and rotation
matrices, and position and translation vectors, are expressed with the *same*
symbology; they reflect what Geometry calls the `alias' and `alibi' views in
rigid-body transformations. Alias, for another name, refers to expressing a
single pose (P or Q) of an object with respect to two different (Cartesian)
coordinate systems A and B; alibi, for somewhere else, refers to the displace-
ment between two different poses P and Q in one-and-the-same coordinate system
(either A or B). In the present debate, we are perpetually discussing alibi's
for understanding and interpreting aliases.
In the Roth paper, and in Ed Chao's 1980/12 JoB paper, these views are combi-
ned for the case that the coordinate systems *themselves* are displaced with
respect to each other, in order to show that a particular Cardanic/Eulerian
rotation sequence in time, e.g., XYZ about the axes of A is equivalent to the
*opposite* sequence, i.c., ZYX in B. <NB: for segment movement, A and B are
the local, segment-imbedded and the global (inertial) coordinate systems, res-
pectively; for joint movement, A and B are the two segment-imbedded coordinate
systems on either side of the joint.> Roth showed this via the so-called simi-
larity transformation, by transforming the expression of a displacement P --> Q
with respect to A into its expression with respect to B. However, this has
nothing to do with commutativity in one Cartesian coordinate system, i.e.,
whether XYZ in A is equivalent to ZYX in A.
An equivalent proof is given in the ATTJOB TEX file on the Biomch-L fileserver,
and can be summarized as follows:
In the general rigid-body transformation (' will denote transposition)
X2 = R21 X1 + P21 (2)
where X2, X1, and P21 are 3-D vectors, and R21 a 3*3 orthonormal matrix, i.e.,
R21'R21 = R21 R21' = I, and where I confine myself to pure R21, i.e., det(R21)
= +1, R21 can be expressed as an ordered sequence of planar rotation/attitude
matrices,
R21 = Rx( phix) Ry( phiy) Rz( phiz) (3)
where Rx(.), Ry(.), and Rz(.) are the well-known planar attitude/rotation
matrices with simple sine and cosine terms, one unit term, and 4 zeroes (the
formulae are in the ATTJOB TEX file). The non-commutativity of temporal rota-
tion sequences about the orthogonal axes in a Cartesian coordinate system is
mirrored here in the non-commutativity of matrix multiplication.
The inverse transformation,
X1 = R12 X2 + P12 (4)
is similarly valid, and identifying the transformations (2) and (4) for arbi-
trary X1 and X2 results in the equalities
R12 = R21', P12 = -R21' P21 (5)
Substituting the planar sequence (3) for R21, and using the relation
(Ra Rb)' == Rb' Ra' (6)
for arbitrary but compatible Ra and Rb, and the fact that for each of the
planar matrices, the relation
Ru(phiu)' = Ru(-phiu), {u = x,y,z} (7)
is valid for all phiu, we find that
R12 = Rz(-phiz) Ry(-phiy) Rx(-phix) . (8)
Thus, the final attitude of one segment with respect to the other can be
attained from the zero or reference attitude either by a sequence of rotations
about the coordinate axes of A, or by the opposite sequence, with opposite
signs, about the axes of B. Note that we are interchanging the `moving' and
the `reference' coordinate systems here, and this explains the occurrence of
the - sign: a rotation of A w.r.t. B is equivalent to the oppositite (negated)
rotation of B w.r.t. A. Some authors have ignored this point, and write about
rotations about the axes of one coordinate system while thinking in terms of
the signs that correspond with the other system.
In summary, while the relation
( Rx(phix) Ry(phiy) Rz(phiz) )' == Rz(-phiz) Ry(-phiy) Rx(-phix) (9)
is always true, it is not true that
Rx(phix) Ry(phiy) Rz(phiz) == Rz( phiz) Ry( phiy) Rx( phix) (10)
unless two of the three angles are zero: thus, sequence dependence exists
within one Cartesian (i.e., orthogonal) coordinate system, but not necessarily
beween two different, Cartesian coordinate systems, or in a generally non-
orthogonal coordinate system such as a selected JCS `a la Grood and Suntay.
The main difference between the temporal and geometric sequence interpretations
is the *trajectory* along which the values (phix,phiy,phiz)' vary from (0,0,0)'
to their final values as they are both described by (2-10). Under the temporal
sequence interpretation, this is (for the present example) in the order first
phiz, then phiy, and finally phix if the rotations occur about the axes of the
`1' system, and in the opposite order if about the axes of the `2' system; for
a 3-D electrogoniometer or Ed's JCS, all sorts of other trajectories are pos-
sible, too.
(c) Semantics
One of the problems in the JCS debate may be that Ed has generalized the notion
of a (Cardanic) coordinate system imbedded in one rigid body, i.e., with axes
that are fixed (usually orthogonal) with respect to each other, into a `joint
coordinate system' between different rigid bodies whose coordinate axes are not
fixed with repect to each other. The angle between the terminal or imbedded
axes of the JCS is, in fact, the floating angle with questionable, anatomical/
physiological significance. Under either semantic interpretation, the *same*
amount of information is needed for unambiguously defining joint angles: in the
neutral pose, the Cartesian coordinate systems in both segments (that together
comprise the joint) concide with the variable JCS. Thus, definition of the
axes and neutral pose of the JCS is tantamount to defining Cartesian coordinate
systems in the two segments comprising the joint plus a particular, Cardanic
sequence.
For the attitude vector approach, the orthogonal components of this vector are
identical in both segments' Cartesian systems -- apart from their signs, of
course. However, positive in the distal segment and negative in the proximal
segment has the same anatomical designation. If we confine ourselves to right-
handed coordinate systems, this would be, e.g., flexion in the left extremi-
ties, and extension in the right extremities. The main issue is how we should
define amounts of flexion/extension, ab/adduction, and endo/exorotation when
they occur simultaneously.
HJW
(*) Mathematics is a convenient, succinct, and unambiguous tool to sidestep
the vagaries of verbal discourse (for example: I.ne.I in the text string
"= I, and where I" above where the symbol "I" is used in two different
meanings).
=========================================================================
Date: Mon, 16 Mar 92 08:02:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Subject: One More Round on 3D Attitude
I find Herman's postings almost addictive. How can I not respond? I will
try to be very brief.
1) I see no more (or less) geometric or sequence dependency in the
axes of the JC system than I do in the orthonormal Cartesian
coordinate system. Herman, can you explain by contrasting
the two systems that this is not correct? Are not both systems
simply a set of three lines in space, one of which is oriented
along the crossproduct of the other two? Is not the direction
of one axis in each system arbitraily specified whith respect to
some rigid body? The only difference between the two systems is
the specification of the second axis. In an orthonormal system
it is chosen perpendicular to the first axis within the same
rigid body. In the JC system it arbitrailly oriented within a
second rigid body. Is there something I am overlooking?
2) Herman, has neatly avoided the central question I asked about the
physical interpretation of attitude vector components. I can not
let him avoid it that easily. All I want to know is how should
the user of the attitude component vector interpret, in physical
terms, a displacement that corresponds to a change in just one
attitude component?
3) I am not challanging Herman to prove that the components of the
attitude vector have any specific properties. I just want him
to more fully describe for us the properties they do have. As
Herman points out, JC system angles have the undesirable
property of a mathematical singularity when the two body-fixed
axes are parallel. This does not make these angles unusable.
4) Herman stated that Cartesian systems have maximal independence
between coordinate components. I do not understand this. Leaving
statistical correlation aside, coordinates are either dependent
or independent. The axes of a Cartesian system yield independent
coordinates when used to describe particle displacements but not
when used to describe rigid body rotations. The axes of the JC
system do provide independent coordinates for rigid body rotations.
Ed Grood
University of Cincinnati
Cincinnati, Ohio, USA
=========================================================================
Date: Mon, 16 Mar 92 17:56:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Denizens of Babylon ...
Dear `Denizens' of Biomch-L,
Having looked up the meaning of Dr Greiner's recent opening to the list, I
should say that I like the term: my Webster's New 20th Century Dictionary
(2nd edition) states:
denizen, v.t. 1. (...) to admit to residence with certain rights and
privileges; to enfranchise (...)
Having read Ed Grood's posting of this morning, I feel like becoming a denizen
of Babylon. Thus, I have to study Ed's terminology even more carefully than I
though having done in the past. As before, I am responding pointwise to Ed's
remarks -- slightly more verbose, unfortunately.
(1) What a person can or cannot see is a subjective matter; `correctness',
in my book, is concerned with objectivity. Ed's JCS is different from a
Cartesian system because it relates two different Cartesian systems with
each other: one is in the proximal, the other in the distal body segment.
In each of these 3 coordinate systems, at least one coordinate axis is
always perpendicular to the two other axes. In Cartesian coordinate
systems, however, all three axes are always perpendicular to each other,
unlike Ed's JCS.
(2) I surely hope that I haven't `neatly avoided' anything. In ATTJOB TEX,
I used sensitivity analysis (which Ed would like me to proffer) in order
to assess the covariance matrices of the Cardanic angles and of the ortho-
gonal attitude vector components for the didactically illuminating case of
an isotropic landmark distribution with isotropically distributed landmark
measurement noise. I cetainly could write out those relations in more ex-
plicit form to show how the Cardanic angles and the attitude vector compo-
nents change for arbitrary, differential displacements, rather than merely
along choosen coordinate axes -- whether these are fixed, orthogonal, and
`metaphysical' as in the attitude vector concept, or variable, generally
oblique, and mechanically realisable as in the Cardanic angles case.
(3) Cardanic angles, and thus the JCS angles, have the undesirable property
of being non-unique at gimbal lock, and of being highly sensitive to
measurement noise and to very small, differential displacements into
particular directions when close to gimbal lock. If this does not make
them useless, it surely makes it hard to interpret their meaning, similar
to the difficulty of interpreting the distorted scale of conventional,
geographic maps close to the poles of our planet. Of course, as long as
we never come there, this part of the problem may be purely academic ...
(4) Statistical and deterministic dependence can be seen as a binary yes/no
property, but there are good reasons to see them as a continuum. While
one cannot be `a little bit pregnant' (I think), one can be a little bit
yellow, black, white, brown, and/or red ... Just like Ed has generalized
the notion of undeformable, imbedded (Cartesian) coordinate systems into
deformable coordinate systems that tie two rigid bodies to each other, I
have generalized the notion of dependence from a logical to a real variable
(-: REAL*4 is sufficient, though, for those who speak Fortran :-) . Fuzzy
systems analysis is extensively concerned with such matters. In real life,
we all depend more-or-less on people who, and things that are around us ...
I hope that Ed will have a pleasant and stimulating sabbatical, and I propose
now to discontinue this public debate. Thanks for all contributions and
interest; I hope that debates of this kind will recur on all sorts of topics
in our field.
Herman J. Woltring
Eindhoven, The Netherlands
=========================================================================
Date: Mon, 16 Mar 92 23:46:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Dear Biomch-L Readers,
Having not yet left for my sabbatical, and having not yet gotten Herman to
respond to my questions I thought I would try again.
First, I think Herman is focusing on the problems associated with measurment
error while I have been trying to understand the underlying geometry. His
work on the effect of errors and methods of filtering data is well known
and highly respected. I would not argue with his points in this regard and
acknowledge the problems that develop when the two body-fixed axes of the
JC system are nearly parallel.
With that issue aside (but not unimportant) I would like to get at the
underlying geometry and physical significance of attitude vector components.
Herman, can you help us understand them on physical basis? If I had more
time I would run calculations to look at what motion is produced by changing
one component at a time. If Herman does not respond, maybe someone else will
take up this question. Since the shoulder is where the JC system has the
greatest difficulty, the analysis should probably be done for that joint. I
would be interested in what the attitude components are for a position of 45
degrees of flexion, abduction and internal rotation. Next, what motions
(flexion, abduction, humeral rotation) correspond to 5, 10, and 15 degree
changes in each attitude component and what is the direction of the rotation
axis that corresponds to these changes in attitude components?
These should be easy calculations to perform and should provide insight into
the attitude vector. I would be happy to adopt a new and better approach than
what I have used in the past, but I need to understand the new approach first.
Ed Grood
=========================================================================
Date: Tue, 17 Mar 92 13:17:00 MET
Reply-To: "Giovanni LEGNANI. University of Brescia - Italy - European
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Giovanni LEGNANI. University of Brescia - Italy - European
Community" <LEGNANI@IMICLVX>;
Subject: Will the 'blu elmetes' of the UNO solve the helical axis?
Dear reader,
The war has broken out!
Will Woltring kill Grood before he goes on his sabbatical?
Will Grood win at the last minute or will he lose because he must leave?
Will Grood decide not to go on sabbatical to continue the fight?
Who knows? But now we are sure: the answer will arrive in a few days.
I hope that everybody is looking forward to seeing the end of this SOAP
OPERA. Nobody is still interested in the answer of the real problem.
But does anybody remember what was the first matter? I guess nobody.
I am joking of course, but could I ask the warriers to constrain themselves?
Could you just send a SHORT mail that summarize your points without try to
kill the other? (and then give up!) I suggest the discussion could continue
but just with BRIEF presentations of facts (not atomic bombs).
With this intention I posted a note last week trying to explain that, to a
certain extent, some problems were not true problems but just different and
acceptable points of view of the same reality. So everybody, to a certain
extent, was right and wrong at the same time.
Nobody said a word about my posting that probably was not good enough to
serve as a tool for peace. I am sorry: I did my best. But anyway PLEASE,
stop filling the disks of our computers with Mbytes of attempts to kill
each other.
With the intention to supply a possible practical problem to deal with I
now pose a question. Does anybody know the answer?
Antecedent fact:
There is a set of angular coordinates called RODRIGUEZ PARAMETERS that are
"similar" to the Helicoid convention.
The three Rodriguez parameters are defined as follows:
a = Ux tan(alfa/2)
b = Uy tan(alfa/2)
c = Uz tan(alfa/2)
where Ux, Uy and Uz are the cosines of the helical axis and alfa is the
rotation about the helical axis.
if A=[a,b,c] is a vector describing a rotation and B=[a1,b1,c1] is a vector
describing a second rotation, the final rotation C that is the result of A
and B can be evaluated easily as
C = [A + B - (AxB) ]/[1-A.B]
where x is the cross product and . is the dot product.
QUESTION:
Does anybody know a similar formula for the HELICAL convention?
that is the question. Please try it!
truly yours,
Giovanni
If the fight continues, I will probably decide do delete all e-mail on
this subject.
=========================================================================
Date: Tue, 17 Mar 92 09:12:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
Dear Biomch-L Readers,
While I appreciate Giovanni Legnani's recent posting, I want to respond
to his reference to a war between Herman and I. I have tremendous respect
for Herman and in no way do I feel at war with him. While we have differences
in opinions, and the debate has highlighted some of these, I do not see our
discussions as leading to a win or lose result. We are all winners by the
expanded body of knowledge and our better understanding of it.
The debate with Herman has forced me to review my own beliefs and understanding
of 3D rotation description. This has been stimulating and productive for me.
I hope (and believe) Herman feels the same way. While I have tried to be
adversarial (in an appropriately intellectual way) I hope I have not also been
antagonistic. If that is the case, I apologize for this.
As for atomic bombs, I do agree that some of our messages are so dense that it
is nearly impossible to (intellectually) digest their contents. Some could
take a full manuscript to respond to. I will try to be brief and to the point
in the future.
The ability to have this type of debate in public is a one of the main benefits
from listservers like BIOMCH-L. We should all appreciate the efforts of the
list moderators who give much of their time for all our benefits.
Sincerely,
Ed Grood
P.S.: I think the formula that Giovanni posted contributes significantly
to our discussion. I notice that there is a one-to-one mapping between the
Rodriguez parameters and the attitude vector components over the interval
-pi/2 < alpha < pi/2. The formula for adding two rotations should work
equally well for both sets of parameters. Giovanni, I would appreciate it
if you could provide a reference for this formula.
=========================================================================
Date: Tue, 17 Mar 92 18:15:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: 3-D attitudes: final posting.
Dear Biomch-L readers,
With Ed Grood's insistence on understanding how displacements (`disposes',
`dispositions'?) relate to poses (`places'?), how can I refuse not to try
and enlighten him? I hope that the following will put his mind at rest
during his undoubtedly well-deserved sabbatical.
While almost ready with this reply, I received Giovanni Legnani's posting and
Ed's reply to it. I appreciate Giovanni's southern temperament (hot and not
cold as meant below), and I can assure all readers of this forum that I do not
feel being at war with any of our philibusters. Still, I trust that this pos-
ting will be the final contribution on the matter (-: for the time being :-),
and I'd like to exercise a moderator's privilige by having the last, public
word.
Uniqueness and Terminology
Let me begin with the problems of a traveler who wishes to leave the North pole
in search of the South pole. Any (longitudinal) direction will serve this
purpose; the statement `south' has no unique meaning at the North pole. If
our traveler is on any other point of the globe than either pole, the term
`south' has, by convention, the meaning of the local direction for the shortest
path over the global surface between the current location on the globe and the
South pole. Even a small offset from the North pole makes the southern direc-
tion theoretically determinate; however, it may be difficult in real life to
determine where we are precisely with respect to the pole (or where the pole is
with respect to identifiable landmarks seen by our traveller), so there is a
region of uncertainty around the North pole where the term `south' is fuzzy or,
worse, completely meaningless other than `away from here into any direction'.
Similarly, the directions East and West have no meaning at the poles, since
our parallels reduce there to single points; close to the poles, they are
similarly fuzzy or practically meaningless. At other places, the vectors that
indicate a displacement into either of these directions, may or may not be
parallel. They are (anti)parallel on any longitude, while unique vectors that
indicate a displacement into the northern or southern directions are (anti-)
parallel if and only if they are on the equator or located at opposite posi-
tions with respect to the geocenter (NB: I use the term `unique' in order to
exclude non-unique and therefore largely meaningless vectors at the poles).
With this analogy in mind, I must confess that I do not know what Ed means
when he refers to flexion, abduction, and internal rotation. Whate *are*
flexion, extension, and endo/exorotation if they occur in unison, while there
is no problem if one and only one of these components occurs when leaving the
neutral, anatomical pose? Ed has proposed very eloquently since 1983 that his
JCS provides a solution to this problem, and I have endeavoured to show that
there are certain problems with his approach. The terms suggest a displacement
rather than a pose, similar to the terms North, South, East, and West. How-
ever, North and South do not only have a directional (vectorial?) interpreta-
tion, but also the positional meaning of the locations of two poles. Those who
have read Winnie the Pooh (there is even a Latin edition, Winnie ille Pooh!)
may recall his quest for the East Pole...
In short, the vectorial direction of a displacement is not necessarily
meaningful under existing conventions for describing such displacements.
Let's go on with the relation between physical, or rather, (bio)mechanical
displacements and poses, and do so in unambiguous, mathematical terms, ig-
noring translations and positions. Ed wishes to see
"what the attitude components are for a position of 45 degrees of flexion,
abduction and internal rotation. Next, what motions (flexion, abduction,
humeral rotation) correspond to 5, 10, and 15 degree changes in each atti-
tude component and what is the direction of the rotation axis that corres-
ponds to these changes in attitude components?"
and I'll sidestep his anatomical terms since I do not know how he wants me to
understand flexion, abduction, and (humeral) rotation displacements under his
5-10-15 degrees disturbances.
Definitions
Under `attitude components', we may either understand Ed's generally non-
orthogonal, Cardanic angles in any given sequence, or the orthogonal components
of the attitude vector. Under each interpretation, we have two Cartesian coor-
dinate systems, one in the proximal, and one in the distal segment. In the
neutral, `anatomical' pose, these coordinate systems coincide. Let us further
denote the orthonormal attitude matrix as Rxyz(PHI), Ryzx(PHI), Rzyx(PHI),
etc., as a function of the Cardanic angles PHI = (phix,phiy,phiz)' for a
selected convention -- with the suffix zyx, for example, denoting the
non-commutative matrix product Rz(phiz) Ry(phixy) Rx(phix). Furthermore,
R(THETA) is an orthonormal matrix as a function of the attitude vector THETA =
(thetax,thetay,thetaz)'. Finally, the vector PSI = (psix,psiy,psiz)' denotes
the attitude vector corresponding to a differential attitude change from a
current to an other attitude. The complete formulae are provided in LaTeX
source file ATTJOB TEX on the Biomch-L fileserver.
Transformations
Given the standard rigid-body transformation
X1 = R12 X2 + P12
where X1 and X2 are positions of a point in the first and second coordinate
systems, respectively, P12 the position of the origin of the second coordinate
system in the first, and R12 the attitude matrix of the second coordinate
system with respect to the first, Ed's attitude matrix can be expressed as:
R12 = Rzyx(PHI) (or any other permutation in xyz) for Cardanic angles;
R12 = R(THETA) for the attitude vector.
Now, the relation between changes PSI (from 0) and changes dPHI and dTHETA
(from PHI and THETA, respectively) can be written as either
Rzyx(PHI + dPHI) = R(PSI) Rzyx(PHI)
R(THETA + dTHETA) = R(PSI) R(THETA)
if changes PSI are seen as occuring in the first coordinate system (X1), or as
Rzyx(PHI + dPHI) = Rzyx(PHI) R(PSI)
R(THETA + dTHETA) = R(THETA) R(PSI)
if changes PSI are seen as occuring in the second coordinate system (X2).
Sensitivity analysis (infinitesimal)
Using symbolic algebra, and confining ourselves to the first case because of
transpositional symmetry between both approaches, the partial derivatives of
PSI at PSI = 0 to PHI and THETA follow from the relation between the rotation
velocity vector OMEGA in the first coordinate system and the time derivatives
of the selected joint angles (Cardanic or attitude vector components), since
dPSI = OMEGA dt, and similarly for PSI and THETA. The relevant sensitivity
matrices can be found in Wittenburg (1977), formula 2.31 and in ATTJOB TEX,
formula (21). For any change in a component of the selected attitude repre-
sentation, the change PSI can be assessed: its length is the total, differen-
tial rotation caused by the change in PHI or THETA, while its direction coin-
cides with the differential rotation axis.
Using (21) above, the differential attitude vector PHI is found to consist of
the following, vectorial components: the projection of dTHETA onto THETA, the
remaining part of dTHETA times a scaling factor sin(theta)/theta, and the
crossproduct of THETA and dTHETA times a scaling factor (1-cos(theta))/theta^2,
where theta = |THETA|. Unless THETA and dTHETA are (anti)parallel, PSI will
have a different length and direction than dTHETA.
Sensitivity analysis (finite)
For finite, not infinitesimally small rotations, these relations provide only
approximate solutions, and one can use the routines in the PRP FORTRAN package
on the Biomch-L fileserver, where the attitude vector of the differential
rotation PSI can be assessed in mode 0. One might also use the vector product
relation mentioned by Giovanni Legnani (at this moment, I don't have my hand-
books handy, so I cannot provide Ed with a reference to Rodriguez' original
work, sometime early last century, I think).
For Ed's example and assuming his preferred, Cardanic sequence Rxyz, where z
is the longitudinal axis of the distal segment (X2 above), this yields the
following results. All values are in degrees, and the `Total rotation' is the
length of the differential attitude vector.
Cardanic Angles: xyz (45, 45, 45)'
Differential parameter change Differential attitude vector Total rotation
(10.0, 0.0, 0.0)' (10.0, 0.0, 0.0)' 10
( 0.0,10.0, 0.0)' ( 0.0, 7.1, 7.1)' 10
( 0.0, 0.0,10.0)' ( 7.1,-5.0, 5.0)' 10
(10.0,10.0,10.0)' (17.6, 1.5,11.8)' 21.3
Here, the last case has three equal changes in a non-orthogonal system, with
positive correlation between the first and third components. Hence, the total
rotation is larger than simply 10 sqrt(3) = 17.32 as would have been approxi-
mately the case for the more-or-less orthogonal components in the neutral
attitude.
Equivalent Attitude `angles': xyz (58.224, 24.117, 58.224)'
Differential parameter change Differential attitude vector Total rotation
(10.0, 0.0, 0.0)' ( 8.2, 4.8,-0.1)' 9.5
( 0.0,10.0, 0.0)' (-3.4, 6.9, 4.9)' 9.2
( 0.0, 0.0,10.0)' ( 3.4,-3.5, 8.2)' 9.5
( 5.8, 2.4, 5.8)' ( 5.8, 2.4, 5.8)' 8.5
Here, the last case is an 8.5 degrees rotation about the original attitude
vector, with all components 10 % of the original attitude vector components;
thus, the differential parameter change dTHETA and the differential attitude
vector PSI are identical in this case.
Clearly, both the Cardanic and the attitude vector conventions exhibit off-
axis effects. The total rotation remains the same for single component changes
in the Cardanic case, but not for the attitude vector case unless the change
occurs *about* the attitude vector; still, this effect is rather small unless
theta becomes large.
Rounding up
Ed's sensitivity request does not immediately highlight the effect of gimbal
lock, since he wishes to know the influence of a parameter change on the
attitude of the moving body. Conversely, I have especially focussed on the
inverse problem, i.e., the effect on the parameters caused by attitude changes.
It is here that the Cardanic and the attitude vector approaches differ in the
most dramatic way. This may explain our respective biases: my interest is
analytical, focusing at understanding and parsimoniously describing what is
being observed, while Ed is possibly more constructive, goal-oriented, desiring
to know how to arrive from some (pathological?) pose to some other (healthier?)
pose...
While I have not provided all the numerical results for the questions that
Ed has brought up, I hope that the above has provided him with at least a
partial answer.
End of public debate
HJW
=========================================================================
Date: Tue, 17 Mar 92 22:24:00 EST
Reply-To: GROOD@UCBEH>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: GROOD@UCBEH>
I want to thank Herman for the results in his last posting. They will give
me much to think about for a while. I will provide my interpretation of
the results at a later time, after everyone has had a chance to recover
from our discussions, and after I have figured out what they mean.
Ed Grood
=========================================================================
Date: Thu, 19 Mar 92 10:36:00 MET
Reply-To: "Giovanni LEGNANI. University of Brescia - Italy - European
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Giovanni LEGNANI. University of Brescia - Italy - European
Community" <LEGNANI@IMICLVX>;
Subject: Rodriguez-Hamilton Parameters REF.
I have two references about the Rodriguez-Hamilton parameters. They are:
(1) a book:
Liegeois A. (& Coiffet ??)
Les Robots, Tome 7: Analyse des performances et C.A.O. Hermes, Neully 1984
There are also English and Italian versions of it. Herman knows the reference
of the English version (I guess) because we have already talked about it.
(2) an article:
Hiller M. Woernle C.
<A unified Representation of Spatial Displacements>
Mechanical and Machine Theory - Pergamon Press
Vol. 19 pp.477-486, 1984
bye
Giovanni
=========================================================================
Date: Thu, 19 Mar 92 12:43:56 MET
Reply-To: Piero Morasso <This email address is being protected from spambots. You need JavaScript enabled to view it.;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: Piero Morasso <This email address is being protected from spambots. You need JavaScript enabled to view it.;
Subject: more refs on Rodriguez
For those interested here are two more refs on the Rodriguez parameters:
Benati, M., Morasso, P., Tagliasco, V., Zaccaria, R. (1980)
Anthropomorphic robotics. I: representing mechanical complexity.
Biological Cybernetics, 38, 125-140.
Benati, M., Morasso, P., Tagliasco, V. (1982)
The inverse kinematic problem for anthropomorphic manipulator arms.
Transactions of the ASME Journal Dynamical Systems, Measurements,
and Control, 104, 110-113.
We have used these parameters extensively for robot simulation and planning
and are happy with them.
--
Pietro Morasso
E-mail: This email address is being protected from spambots. You need JavaScript enabled to view it.
mail: DIST-University of Genova
Via Opera Pia, 11A
I-16145 Genova (ITALY)
phone: +39 10 3532749/3532983
fax: +39 10 3532948
=========================================================================
Date: Thu, 19 Mar 92 17:31:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Rodriguez' vector
Dear Biomch-L readers,
Thanks to our two Italian denizens for their pointers toward the Rodriguez
vector. It is, in fact, proportional to the attitude vector as discussed
on this list these days. The one uses theta N, the other tan(theta/2) N,
where N is the unit direction vector about which the current attitude is
reached by rotating from the reference attitude through theta in the right-
handed corkscrew sense. For small angles, it has half the length of the
proposed attitude vector since tan(theta/2) ~ theta/2 for theta ~ 0 (in rad).
The advantage of Rodriguez' formulation is that one may relatively easily
combine two rotations for getting their joint effect; its disadvantage is
that it becomes infinitely large when theta approaches 180 degrees which,
for general 3-D attitude representation of segments and some joints may be
a disadvantage.
HJW
=========================================================================
Date: Mon, 23 Mar 92 04:44:00 N
Reply-To: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: "Herman J. Woltring" <UGDIST@HNYKUN53>;
Subject: Attitudes and (differential) rotations
Dear Biomch-L readers,
Having thought a bit more about Ed Grood's proposal that some more insight
should be provided in the differential rotations caused by single parameter
changes of the proposed attitude vector convention, Ed's words in his 17 March
posting have proved singularly predictive:
> The debate with Herman has forced me to review my own beliefs and under-
> standing of 3D rotation descriptions. This has been stimulating and
> productive for me. I hope (and believe) Herman feels the same way.
As said before, I was not terribly interested in relating rotations to atti-
tudes. However, Ed's challenge and the analytical simplicity of the Rodriguez
vector formulation brought up by Giovanni Legnani provided good cause to look
to my formulae once again; I'm grateful to both of them for providing this
enticement.
Let's restate the definition THETA = theta N as the attitude vector, theta as
its length (in radians), and N as its unit direction vector (with undefined
direction if theta = 0, while THETA is well-defined even in that case, i.e.,
with the value (0,0,0)'). As said before, the physical interpretation is that
N is the vector about which a Cartesian coordinate system is thought to be
rotated through theta radians in order to reach its current attitude from a
reference attitude -- defined by its coincidence with another, Cartesian coor-
dinate system. In joint motion, these coordinate systems are imbedded in the
two segments that comprise the joint.
The orthonormal attitude matrix R(THETA) can be written as
R(THETA) = cos(theta) I + {1 - cos(theta)} N N' + sin(theta) S(N) (1)
where S(N) is the anti- or skew-symmetric matrix
| 0 -Nz Ny | | Nx |
S(N) = | Nz 0 -Nx |, with N = | Ny | = (Nx,Ny,Nz)' . (2)
|-Ny Nx 0 | | Nz |
Let THETA + dTHETA be a slightly disturbed attitude vector, and let dPSI be
the differential attitude vector that changes the attitude from R(THETA) to
R(THETA+dTHETA) in the reference coordinate system. We could now use Rodri-
guez' formula to obtain the differential rotation vector B in Giovanni Leg-
nani's recent posting
C = [ A + B - A * B ] / [ 1 - A'B ] (3)
with A = tan(theta/2) N the reference attitude vector in Rodriguez' formu-
lation, C its counterpart for the disturbed attitude, and where B is the
Rodriguez vector of the differential rotation needed to reach the disturbed
attitude from the undisturbed one. Alternatively, for very small displace-
ments dTHETA, we can rewrite formula (21) in the ATTJOB TEX manuscript on the
Biomch-L fileserver as
dPSI = Q(THETA) dTHETA (4a)
with
Q(THETA) = N N' + sinc(theta/2) [ R(THETA/2) - N N' ] (4b)
and where sinc(a) = sin(a) / a if a.ne.0, and sinc(0) = 1 . (4c)
This formulation provides a clearer picture of the relation between (single
or compound) changes in the components of THETA, and their effect on differen-
tial rotations from the original attitude to the disturbed one. Since N and
THETA are eigenvectors (proper vectors, characteristic vectors) of R, with
eigenvalue +1, any rotational disturbance dTHETA can be vectorially decomposed
in terms of a component parallel to THETA which is not changed, and a compo-
nent normal to THETA which is scaled by sinc(theta/2) and rotated about THETA
(or N) through theta/2, in the right-handed corkscrew sense. This is the case
under either of the two possibilities for defining joint movement: proximal
w.r.t. distal or distal w.r.t. proximal, with the latter the customary one.
Thus, the differential, local coordinate system into which the axes of either
segment's imbedded, Cartesian coordinate system are mapped under small changes
dTHETA takes some kind of middle position in which neither coordinate system
is preferred: the rotation component is theta/2, thus the attitude of the
`local' coordinate system along whose axes changes in flexion/extension, ab/
adduction, and endo/exorotation (under the attitude vector model) occur is
`halfway' between the two imbedded coordinate systems, for any joint attitude.
By contrast, the Grood and Suntay convention `fixes' flexion/extension in one
body segment, and endo/exorotation in the other, while deriving ab/adduction
as a floating axis from these two. These definitions are, in my mind, quite
arbitrary, and (I suspect) largely motivated by the desire to minimize gimbal
lock; an additional motivation might have been the desire to select the long
axis of an oblong, distal segment as one of the imbedded axes. However, even
when merely approaching gimbal lock while never reaching it, the angle between
the imbedded coordinate axes decreases, the rotation angles about them become
increasingly correlated, while the floating axis becomes increasingly indeter-
minate.
Under the attitude vector model, the local and differential flexion/extension,
ab/adduction, and endo/exorotation axes are generally the bisectors of the
corresponding, segment-imbedded coordinate axes. Components of dTHETA parallel
to N are not changed, while components normal to N are slightly scaled and
rotated halfway.
For example, if a knee joint is at 90 degrees pure flexion, a 1 degree change
in the flexion component of THETA will entail a rotation of 1 degree along a
`differential flexion/extension axis' which, for the present example of *pure*
flexion, coincides with coincident, segment-imbedded flexion/extension axes.
However, a 1 degree change in either of the other THETA parameters will result
in a differential rotation of only sinc(pi/4) ~ 0.9003 degrees about axes that
are the *bisectors* of the angles subtended by the segments' imbedded ab/adduc-
tion and endo/exorotation axes, respectively.
The variable attitude of a local coordinate system along whose axes the
effects of dTHETA are mapped may bring back to mind my previously posted
example of locally defined, orthogonal North-South, East-West, and Up-Down
coordinate axes whose vectorial directions differ from their counterparts
defined elsewhere on the globe. Yet, the directions North and South, East
and West, and Up and Down are usually well defined (except for the poles),
while the terms North and South (poles) have also a *positional* interpre-
tation. Similarly, should flexion/extension, ab/adduction, and endo/exoro-
tation not only have a pure rotation ("displacement") meaning as the terms
suggest, but also an attitude ("pose") interpretation?
I believe that findings such as those brought up during the Biomch-L exchanges
may render it useful to think not only about *standards* in the definition of
joint angles, but also about *terminology*; I feel that it is about time to
call upon anatomists and not just upon biomechanicians to think about the most
appropriate meaning that should be given to classical notions like flexion/
extension, endo/exorotation, lateral flexion etc. when they occur in unison
rather than in isolation during departure from a reference `anatomical' atti-
tude only. What would Kapandji think, for example? At least, we should not
blindly equate pitch, yaw, and roll (commonly defined as a Cardanic sequence,
with yaw the floating angle) to `physiological' angles. Hopefully, the dif-
ferent properties of existing (de-facto) standards and their contenders might
provide good reason for generating further ideas.
HJW
=========================================================================
Date: Tue, 24 Mar 92 20:04:32 CET
Reply-To: SMALLC@QUCDN>
Sender: Biomechanics and Movement Science listserver <BIOMCH-L@HEARN>;
From: SMALLC@QUCDN>
Subject: 3D descriptors
As a recent subscriber to the BIOMCH-L board, I was astonished to see the
3D descriptor conundrum in full swing (again). Lots of us have trouble
with visualizing what all these different analyses mean. For a slightly
more basic discussion of the most popular methods used clinically, I
refer interested readers to our upcoming publication in the Journal of
Biomedical Engineering (1992) March Vol 14:133-141 "Rationalization of
kinematic descriptors for three-dinensional hand and finger motion".
I don't claim to have all the answers, but it may help.
...........................
Carolyn Small, PhD PEng CCE
Mechanical Engineering, Queen's
(613) 545-2581 FAX (613) 545-6489
=========================================================================
end of file