* 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('cloakb4e32af894d654b781eca7c903d1674c').innerHTML += ''+addy_textb4e32af894d654b781eca7c903d1674c+'<\/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('cloakb522e659dca891a570e977708bd88ec7').innerHTML += ''+addy_textb522e659dca891a570e977708bd88ec7+'<\/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

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('cloakd356ec4faeb4305dfec072743e2a11d6').innerHTML += ''+addy_textd356ec4faeb4305dfec072743e2a11d6+'<\/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('cloak4862f169f3d11181e381a752a8ac26e4').innerHTML += ''+addy_text4862f169f3d11181e381a752a8ac26e4+'<\/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('cloak5dd642a28d449c6fb5145d55c0dee74a').innerHTML += ''+addy_text5dd642a28d449c6fb5145d55c0dee74a+'<\/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