Hip joint angle sequence

Hi everyone,

I have a problem comprehending the transformation sequence of hip joint angles (GaitFullBody of AMMRV1.3.1). In order to visualize the rotation axes and their orientations I included a AnyDrawRefRame function in the HipJointStandard definition:

AnyVec3 HipJointStandard= {0.0, 0.0, …Sign0.0};
AnyRefNode HipJoint = {
sRel = .Scale(.HipJointStandard);
ARel = RotMat(…Sign
-30pi/180,y) * RotMat(-18pi/180,z);
AnyDrawRefFrame drw =
{ RGB = {1, 0, 0}; };


In order to understand the sequence I ran through a bunch a different sequences:

Flexion, abduction, and rotation occur around their corresponding axes.

pure flexion/abduction/rotation: the corresponding axis remains at the same place and the others turn around it (makes sense)

first flexion -> then abduction: new orientation for abduction axis after flexion; no new orientation while abduction (makes sense)

first flexion -> then rotation: new orientation for rotation axis after flexion; no new orientation while rotation (makes sense)

first flexion -> then abduction -> then rotation: y-axis is not stable but rotates after all rotations (does not make sense to me)

Therefore I do not understand around which axis the hip rotates.
Besides the code above indicates that the rotation is first around z and then y. I do not find abduction (x) in here.

I would be very grateful for an answer helping me to understand around which axis which motion direction occurs and in which order the rotations are performed.

Thank you very much in advance,

Hi Fabian,

here is a short answer. There are two small examples in our Wiki (Tips and Tricks > Kinematics) of two different ways of rotations, one in cardan angles, the other one in cartesian rotation vectors.

If you look at the HipJoint it is RotVector Type, but if you look in the Interface folder, the HipMotions (Flex,Abduction and Rotation) are RotAxesAngles Type.

Please have a look at the 2 examples, that might help. If not, I can ask Søren to explain it more detailed.

What did you mean with the y-axis is not stable?

Hi Amir,

thank you very much for your quick answer. With the y axis not being stable I mean the following:
Your Wiki explains it very good: The RotAxesAngles is measuring the cardan angles by three angles of planar rotation about the reference system’s axes. One should be aware that the sequence of these rotations is important, and that any rotation subsequent to the first is a [COLOR=Red]rotation about a local axis arising from the previous rotation(s).
I expect that each rotation is around one local axis that does not change its orientation during the rotation. However in the given example when changing the hip rotation angle all local axes change their orientation and I was looking for the rotation vector/axis.

Hi Fabian,

where do you drive your joint? What type is it: RotVector, or RotAxesAngle? If it is RotVector the whole RefFrame moves, if it is RotAxesAngle, it should rotate around one axis.
We think that you use the RotVector without knowing it.