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

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).

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

tel +39 30 3996.446
fax +39 30 303681