Coordinate system

Hi !

Back in Montreal i’m working again on our shoulder model…
I just have a little (for you i hope) problem.

Let me explain : I have a new coordinate system on the scapula, wich
is define to be as in the new ISB recommendations. Its origin is now
on the AA point and it’s rotated of 90 degrees around the y axis.
(This system is used to replace positions of points on the humerus,
recorded in our in vitro experiments. The humerus then is driven by
the positions of the points and not Anybody’s Mannequin file.)
We defined it like that in the Joints&Drivers file with John :

Main.Model.HumanModel.Right.ShoulderArm.Seg.Scapula.aa = {
AnyRefNode ISBOrigin = {
sRel = {0,0,0};
ARel = RotMat(pi/2,y);
AnyDrawRefFrame drw = {
RGB={1,1,0};
ScaleXYZ = {1,1,1}/5;
};
};
};

There is no problem with this. After that I defined a similar system
on the humerus and applied a calculation with the rotational sequence
we use to measure angles during the movement :

Main.Model.HumanModel.Right.ShoulderArm.Seg.Humerus.gh = {
AnyRefNode ISBAxes = {
sRel = {0,0,0};
ARel =
Main.Model.HumanModel.Right.ShoulderArm.Seg.Scapula.aa.ISBOrigin.ARel;
// ARel = RotMat(pi/2,y);
AnyDrawRefFrame drw = {
RGB={0,1,1};
ScaleXYZ = {1,1,1}/5;
};
};
};

[… and then calculation …]

But the thing i want to do is fixing a coordinate system on the
humerus, centered on GH, which would be the same than the scapula one
at t=0 (I mean that at t=0, coordinate systems of humerus and scapula
are parallel). With that I would have angles set at 0 in all
directions at the beginning of the motion.
I tried but when i modified the axes, i modified the humerus position.
This new coordinate system would be used only to mesure angles with
the desired rotation sequence, so I don’t care about the present
humerus system and don’t wanna change it if that changes the bone
position.
May it be possible to add one like I described ?

Thanks a lot

Sincerely,
Yoann

Hi Yoann

I am little unsure exactly what it is you try to do, so if this is
not what you are looking for please write again.

It is fine to define a new node inside the gh and rotate this with a
ARel. I can see that you have made a reference to the ARel of the aa
point on scapula, in the current case you might as well have used
the line below you have outcommented the result would be the same.

Here list on how to solve the problem:
1 :define a new node on humerus in GH with a ARel={{1,0,0}{0,1,0}
{0,0,1}},
2: Set the scapula and humerus in the position you like to have
a “neutral”, solve the kinematics.
3: Read out the Axes properties of the ISB node on scapula and the
new node on Humerus, in the follwoing they are named
Axes_scapula_ISBnode and Axes_humerus_newnode respectively.
4: Create a new Arel for the new node on humerus in the following
way:
Arel=Axes_humerus_newnode ^T * Axes_scapula_ISBnode
5: Insert this Arel in the new node on humerus
6: Create a new rotational measure between the isb node on scapula
and the new on the humerus, if you drive this measure to zero it
will have neutral position as defined in step 2.

I hope it was something like this you had in mind.

Best regards
Søren, AnyBoy Support

— In anyscript@yahoogroups.com, “Yo” <yoann.collet.1@…> wrote:
>
> Hi !
>
> Back in Montreal i’m working again on our shoulder model…
> I just have a little (for you i hope) problem.
>
> Let me explain : I have a new coordinate system on the scapula,
wich
> is define to be as in the new ISB recommendations. Its origin is
now
> on the AA point and it’s rotated of 90 degrees around the y axis.
> (This system is used to replace positions of points on the humerus,
> recorded in our in vitro experiments. The humerus then is driven by
> the positions of the points and not Anybody’s Mannequin file.)
> We defined it like that in the Joints&Drivers file with John :
>
> Main.Model.HumanModel.Right.ShoulderArm.Seg.Scapula.aa = {
> AnyRefNode ISBOrigin = {
> sRel = {0,0,0};
> ARel = RotMat(pi/2,y);
> AnyDrawRefFrame drw = {
> RGB={1,1,0};
> ScaleXYZ = {1,1,1}/5;
> };
> };
> };
>
> There is no problem with this. After that I defined a similar
system
> on the humerus and applied a calculation with the rotational
sequence
> we use to measure angles during the movement :
>
> Main.Model.HumanModel.Right.ShoulderArm.Seg.Humerus.gh = {
> AnyRefNode ISBAxes = {
> sRel = {0,0,0};
> ARel =
>
Main.Model.HumanModel.Right.ShoulderArm.Seg.Scapula.aa.ISBOrigin.ARel
;
> // ARel = RotMat(pi/2,y);
> AnyDrawRefFrame drw = {
> RGB={0,1,1};
> ScaleXYZ = {1,1,1}/5;
> };
> };
> };
>
> [… and then calculation …]
>
>
> But the thing i want to do is fixing a coordinate system on the
> humerus, centered on GH, which would be the same than the scapula
one
> at t=0 (I mean that at t=0, coordinate systems of humerus and
scapula
> are parallel). With that I would have angles set at 0 in all
> directions at the beginning of the motion.
> I tried but when i modified the axes, i modified the humerus
position.
> This new coordinate system would be used only to mesure angles with
> the desired rotation sequence, so I don’t care about the present
> humerus system and don’t wanna change it if that changes the bone
> position.
> May it be possible to add one like I described ?
>
> Thanks a lot
>
> Sincerely,
> Yoann
>