Coordinate System rotation BergmannGH

Helo Everyone,

Because I want to measure the joint reaction forces in the not moving reference frame of the scapula, i want to align it in every three axes with the humerus reference frame used for the Bergmann measurement.

To achieve that I created a RefNode:

BodyModel.Right.ShoulderArm.Seg.Scapula.gh = {
AnyRefNode ScapulaNode ={
AnyDrawRefFrame drwref = {
RGB = {1,0,0};
ScaleXYZ = {0.5,0.5,0.5}/5;
};
};
};

Which works, but the Coordinate system that appears isn’t aligned with the Bergmann system which is my goal.

To rotate the coordinate system I use:

AnyFloat rx = RotMat(-2pi/180,x);
AnyFloat ry = RotMat(72.5
pi/180,y);
AnyFloat rz = RotMat(45*pi/180,z);

     ARel = rx*ry*rz;

wich works for two coordinates, but it is not possible to rotate around X-axis- It rotates the same way as it does on the Z-Axis.

I tried to change it in Jnt.any:

///Definition of GH joint
AnyKinRotational GHRot = {
AnyRefNode &scapula_gh = …Seg.Scapula.gh;
AnyRefNode &humerus_gh = …Seg.Humerus.gh;
Type = RotAxesAngles;
Axis1 = y;
Axis2 = z;
Axis3 = y;

};

But there was no effect.

How is it possible to rotate this coordinate systems in all dimensions?

Thanks or your help

cheers,

Marc

Hi Marc,

i am not sure i follow completely what you have tried to do but if the purpose is to measure in a specific coordinate system please have a look at the AnyForceMomentMeasure in the manual, (note the small demo example at the bottom of the page) there is also a section on the wikipage on this object.

Using this object you can measure the force in the joint in any coordinate system without making changes to the joint itself.

Sorry if i have misinterpreted your question, then please ask again :wink:

Best regards
Søren

Hi Søren,

Thank you for your reply

No, to measure in different coordinate systems wasn’t the problem;)

but as I was thinking the whole situation through again, I could find a solution:cool:

cheers,

Marc