euler angles

Hi Soren,

We are working very hard to have a study of the shoulder and it is
the body part that we have more problems; we have problems when the
elbow is over the shoulder. The movement is broken in Anybody.

In our Mannequin.any we have the follow Euler angle’s order in the
Glenohumeral files, Flexion, Abduction and External Rotation.

Could you confirm us the Euler angle’s order in the arms and if
these angles are relatives or absolutes?

We are considerate: first turn in X axes (flexion), second turn in Z
axes (abduction)-relative to the axes turned- and third turn in Y
axes (external rotation) – relative to the X,Z axes turned.
Is it correct?

We make the follow order angle’s calculation, when the elbow is
under the shoulder, the Euler angle’s data format is (0,-80,0) and
when the shoulder is under the elbow, the Euler angle’s data format
is (-180,-80,180).

Mathematically is good but when we have the Anybody’s simulation,
when we pass the horizontal, the move is broken.

What do you think about this problem?

Thank you in advance.

Hi Raul

In the Mannequin it is not possible to control the sequence of the
rotations, this you can control in the JointsAndDrivers.any file, by
making changes in the drivers. In this case by changing the sequence
of the first three lines in the GhDriver.

I have taken a look in the file and currently it use the following
sequence:

GlenohumeralAbduction;
GlenohumeralFlexion;
GlenohumeralExternalRotation;

If you like you can turn this sequence around.

I am not exactly sure what you mean by absolute or relative?, these
angles are measured bewteen scapula and humerus, so i guess it is
relative.

The sequence you list should be the same and defined in the
JoitnAndDriverany file.

What do you mean by broken kinematics, do you get a warning about
Gimbal lock or does it simply fail to solve the kinematics?.

If it is a matter of Gimbal lock, then you should consider changing
the sequence of the rotations by shifting the order of the first
three lines in the GHDriverRight in the JointsAndDriver.any file,
remember also to change the DriverPos and DriverVel to reflect the
change of sequence.

Best regards
Søren

— In anyscript@yahoogroups.com, Raúl Borraz Lamiel
<raulborrazlamiel@…> wrote:
>
> Hi Soren,
>
> We are working very hard to have a study of the shoulder and it is
> the body part that we have more problems; we have problems when
the
> elbow is over the shoulder. The movement is broken in Anybody.
>
> In our Mannequin.any we have the follow Euler angle’s order in the
> Glenohumeral files, Flexion, Abduction and External Rotation.
>
> Could you confirm us the Euler angle’s order in the arms and if
> these angles are relatives or absolutes?
>
> We are considerate: first turn in X axes (flexion), second turn in
Z
> axes (abduction)-relative to the axes turned- and third turn in Y
> axes (external rotation) – relative to the X,Z axes turned.
> Is it correct?
>
> We make the follow order angle’s calculation, when the elbow is
> under the shoulder, the Euler angle’s data format is (0,-80,0) and
> when the shoulder is under the elbow, the Euler angle’s data
format
> is (-180,-80,180).
>
> Mathematically is good but when we have the Anybody’s simulation,
> when we pass the horizontal, the move is broken.
>
> What do you think about this problem?
>
> Thank you in advance.
>

HI!
Could somebody explain me the order of Euler angles? How can I know
the order looking the .any files?
Thanks!
Isabel

Hi Isabel

I am not sure what you mean?
Could you give an example?

Best regards
Christian, AnyBody Support

— In anyscript@yahoogroups.com, “isabelgarciamu”
<isabelgarciamu@…> wrote:
>
> HI!
> Could somebody explain me the order of Euler angles? How can I know
> the order looking the .any files?
> Thanks!
> Isabel
>

By definition, Euler angles need the order of aplication and moreover
it’s necessary to know if the movement is relative to the original
axes or if it’s relative to the previous movement.

We think that The transition from one coordinate system to the other
is achieved by a series of two-dimensional rotations.
The rotations are performed about coordinate system axes generated by
the previous rotation step
(the step-by-step procedure). The convention used here is that:

For example, Rot (Z,Y,X), means:
RotZ is a rotation about the Z axis of the initial coordinate system
(global reference system of the PELVIS, Axis XYZ).
About the Y’ axis of this newly generated coordinate system a rotation
by RotY is performed,
followed by a rotation by RotX about the new X’’ axis.

PELVIS:
1º Rotation: RotZ -> PelvisRotZ (flexion)
2º Rotation: RotX -> PelvisRotX (lateral bending)
3º Rotation: RotY -> PelvisRotY (Rotation)

THORAX:
1º Rotation: RotZ -> PelvisThoraxFlexion
2º Rotation: RotX -> PelvisThoraxLateralBending
3º Rotation: RotY -> PelvisThoraxRotation

NECK:
1º Rotation: RotZ -> NeckExtension

CLAVICULAR: (Right and Left)
1º Rotation: RotY -> SternoClavicularProtraction
2º Rotation: RotX -> SternoClavicularElevation
3º Rotation: RotZ -> SternoClavicularAxialRotation

HUMERAL: (Right and Left)
1º Rotation: RotZ -> GlenohumeralFlexion
2º Rotation: RotX -> GlenohumeralAbduction
3º Rotation: RotY -> GlenohumeralExternalRotation

ELBOW: (Right and Left)
1º Rotation: RotZ -> ElbowFlexion
2º Rotation: RotY -> ElbowPronation

WRIST: (Right and Left)
1º Rotation: RotZ -> WristFlexion
2º Rotation: RotX -> WristAbduction

HIP: (Right and Left)
1º Rotation: RotZ -> HipFlexion
2º Rotation: RotX -> HipAbduction
3º Rotation: RotY -> HipExternalRotation

KNEE: (Right and Left)
1º Rotation: RotZ -> KneeFlexion

ANKLE: (Right and Left)
1º Rotation: RotZ -> AnklePlantarFlexion
2º Rotation: RotX -> AnkleEversion

End.

We use the euler angles in mannequin.any and in jointsanddrivers.any,
but we are not sure if it works like we think.

Do you understand me?

Thank you very much.
Isabel

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…> wrote:
>
> Hi Isabel
>
> I am not sure what you mean?
> Could you give an example?
>
> Best regards
> Christian, AnyBody Support
>
> — In anyscript@yahoogroups.com, “isabelgarciamu”
> <isabelgarciamu@> wrote:
> >
> > HI!
> > Could somebody explain me the order of Euler angles? How can I know
> > the order looking the .any files?
> > Thanks!
> > Isabel
> >
>

Hi Isabel

In principle you are right in your description, but some of the sequences
you have listed are not correct I believe.

If for example you look in the leg3d/Interface.any you will find the lines

AnyKinMeasureOrg HipFlexion = {

//create new rotated node

AnyFolder &HipNodeRef=…HipNodeRef;

HipNodeRef={

 AnyRefNode RotNode={

   ARel={{....Sign*-1,0,0},{0,....Sign*-1,0},{0,0,1}};

 };

};

AnyFolder &ThighNodeRef = …Seg.Thigh.HipJoint;

ThighNodeRef ={

 AnyRefNode RotNode={

   ARel={{....Sign*-1,0,0},{0,....Sign*-1,0},{0,0,1}};

 };

};

AnyKinRotational HipMeasure ={

 AnyRefNode &PelvisNode = ...HipNodeRef.RotNode;

 AnyRefNode &ThighNode = ...Seg.Thigh.HipJoint.RotNode;

 Type=RotAxesAngles;

};

MeasureOrganizer={0};

};

AnyKinMeasureOrg HipAbduction = {

AnyKinRotational &HipJoint =.HipFlexion.HipMeasure;

MeasureOrganizer={2};

};

AnyKinMeasureOrg HipExternalRotation ={

AnyKinRotational &HipJoint =.HipFlexion.HipMeasure;

MeasureOrganizer={1};

};

These measures are the ones used by the FreePostureMove model for the hip
joint, you can find similar measures in the arm model in
arm3d/interface.any.

Here you can see that the type of rotational measure is RotAxesAngles,
please refer to the reference manual for details about this measure, it
should work in principle like you describe.

The script also shows that the first rotation is the HipFlexion the second
is HipExternalRotaion and the third is HipAbduction please see the script
above, this is different to the sequence you have listed for the hip…

These measures are just examples of how it can be done, if you would like to
have the rotations measured differently it is possible to define new
rotational measures in almost any way you like, and then used these instead
of the ones provided in the interface folder.

I hope this answers the question otherwise please do not hesitate to ask
again.

Best regards

Søren, AnyBody Support


From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of isabelgarciamu
Sent: 29 October 2007 11:44
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: euler angles

By definition, Euler angles need the order of aplication and moreover
it’s necessary to know if the movement is relative to the original
axes or if it’s relative to the previous movement.

We think that The transition from one coordinate system to the other
is achieved by a series of two-dimensional rotations.
The rotations are performed about coordinate system axes generated by
the previous rotation step
(the step-by-step procedure). The convention used here is that:

For example, Rot (Z,Y,X), means:
RotZ is a rotation about the Z axis of the initial coordinate system
(global reference system of the PELVIS, Axis XYZ).
About the Y’ axis of this newly generated coordinate system a rotation
by RotY is performed,
followed by a rotation by RotX about the new X’’ axis.

PELVIS:
1º Rotation: RotZ -> PelvisRotZ (flexion)
2º Rotation: RotX -> PelvisRotX (lateral bending)
3º Rotation: RotY -> PelvisRotY (Rotation)

THORAX:
1º Rotation: RotZ -> PelvisThoraxFlexion
2º Rotation: RotX -> PelvisThoraxLateralBending
3º Rotation: RotY -> PelvisThoraxRotation

NECK:
1º Rotation: RotZ -> NeckExtension

CLAVICULAR: (Right and Left)
1º Rotation: RotY -> SternoClavicularProtraction
2º Rotation: RotX -> SternoClavicularElevation
3º Rotation: RotZ -> SternoClavicularAxialRotation

HUMERAL: (Right and Left)
1º Rotation: RotZ -> GlenohumeralFlexion
2º Rotation: RotX -> GlenohumeralAbduction
3º Rotation: RotY -> GlenohumeralExternalRotation

ELBOW: (Right and Left)
1º Rotation: RotZ -> ElbowFlexion
2º Rotation: RotY -> ElbowPronation

WRIST: (Right and Left)
1º Rotation: RotZ -> WristFlexion
2º Rotation: RotX -> WristAbduction

HIP: (Right and Left)
1º Rotation: RotZ -> HipFlexion
2º Rotation: RotX -> HipAbduction
3º Rotation: RotY -> HipExternalRotation

KNEE: (Right and Left)
1º Rotation: RotZ -> KneeFlexion

ANKLE: (Right and Left)
1º Rotation: RotZ -> AnklePlantarFlexion
2º Rotation: RotX -> AnkleEversion

End.

We use the euler angles in mannequin.any and in jointsanddrivers.any,
but we are not sure if it works like we think.

Do you understand me?

Thank you very much.
Isabel

— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“AnyBody Support” <support@…> wrote:
>
> Hi Isabel
>
> I am not sure what you mean?
> Could you give an example?
>
> Best regards
> Christian, AnyBody Support
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“isabelgarciamu”
> <isabelgarciamu@> wrote:
> >
> > HI!
> > Could somebody explain me the order of Euler angles? How can I know
> > the order looking the .any files?
> > Thanks!
> > Isabel
> >
>

[Non-text portions of this message have been removed]