shoulder kinematics

Hi Soren,

I have a simplified shoulder model loaded and I would like to look at
muscle forces from 0 to 90 degrees of abduction in the scapular
plane. I was having trouble figuring out how to make the model go
through this abduction motion (do I use drivers, etc.). Is there a
simple way to program this simple motion so that I can look at muscle
forces?

Thanks so much,
Mike

Hi Mike

I assume you have a Glenohumeral joint as a spherical joint in your
model. If you want this to create the abduction motion you need to
add a AnyKinEqSimpleDriver to the dof of this joint which describes
the abduction motion.

It could look like

AnyKinEqSimpleDriver GHRot={
AnySphericalJoint &ref =…? //make a reference to your gh joint
DriverPos={0,0,0};
DriverVel={pi*0.5,0,0}; //this will drive the rotation around the z
axis
Reaction.type={Off,Off,Off}; //the muscles should carry the load not
the driver!
};

The driver above assumes that the time is 1 sec. and that the
abduction rotation is about the z axis of the first reference in
your sphercial joint. The sequence of rotation of a spherical joint
is z,y,x .

All models needs the same amount of drivers as they have number of
dof, otherwise the kinematics can not be determined.

I hope this helps you move on, otherwise please do not hesitate to
write again.

Best regards
Søren, AnyBody Support

I — In anyscript@yahoogroups.com, “weezxpxmra7” <weezxpxmra7@…>
wrote:
>
> Hi Soren,
>
> I have a simplified shoulder model loaded and I would like to look
at
> muscle forces from 0 to 90 degrees of abduction in the scapular
> plane. I was having trouble figuring out how to make the model go
> through this abduction motion (do I use drivers, etc.). Is there
a
> simple way to program this simple motion so that I can look at
muscle
> forces?
>
> Thanks so much,
> Mike
>

Hi Soren,

I tried to add the driver as you recommended, as well as constrain
some of the other degrees of freedom, but I kept getting error
messages. I have zipped all of the files and posted them in the
files section of the anyscript group page. It is the basic shoulder
model files without the driver and without the constraints on any
degrees of freedom. I was hoping you could take a look at it and
maybe help me out with getting the right arm to abduct from 0-90
degrees. I’m sure its something very simple, I’m just not extremely
familiar with the AnyScript language yet and I’m having a hard time.

Thank you very much!
Mike

— In anyscript@yahoogroups.com, “AnyBody Support” <support@…>
wrote:
>
> Hi Mike
>
> I assume you have a Glenohumeral joint as a spherical joint in
your
> model. If you want this to create the abduction motion you need to
> add a AnyKinEqSimpleDriver to the dof of this joint which
describes
> the abduction motion.
>
> It could look like
>
> AnyKinEqSimpleDriver GHRot={
> AnySphericalJoint &ref =…? //make a reference to your gh joint
> DriverPos={0,0,0};
> DriverVel={pi*0.5,0,0}; //this will drive the rotation around the
z
> axis
> Reaction.type={Off,Off,Off}; //the muscles should carry the load
not
> the driver!
> };
>
> The driver above assumes that the time is 1 sec. and that the
> abduction rotation is about the z axis of the first reference in
> your sphercial joint. The sequence of rotation of a spherical
joint
> is z,y,x .
>
> All models needs the same amount of drivers as they have number of
> dof, otherwise the kinematics can not be determined.
>
>
> I hope this helps you move on, otherwise please do not hesitate to
> write again.
>
> Best regards
> Søren, AnyBody Support
>
>
> I — In anyscript@yahoogroups.com, “weezxpxmra7” <weezxpxmra7@>
> wrote:
> >
> > Hi Soren,
> >
> > I have a simplified shoulder model loaded and I would like to
look
> at
> > muscle forces from 0 to 90 degrees of abduction in the scapular
> > plane. I was having trouble figuring out how to make the model
go
> > through this abduction motion (do I use drivers, etc.). Is
there
> a
> > simple way to program this simple motion so that I can look at
> muscle
> > forces?
> >
> > Thanks so much,
> > Mike
> >
>

Hi Mike

I have uploaded the model MikeShoulderModelV2 to the file section.

In the last email i wrote the answer assuming that it was your own
shoulder model you was trying to drive, not one based on the
repository. If you are using a repository model there are very easy
ways of driving the model to do the abduction motion.

The model FreePostureMove model is a model that has interpolation
drivers on all the human dof. So you can from the file mannequin.any
drive all dof in the body by giving vectors of the joints angles.
This model is a full body model so i simply took the drivers from
the FreePostureMove model and copied them to your model, and then
outcommented the lines relating to left arm and the legs, which is
not part of your model.

So now the model will abduct the right arm and adduct it
subsequently, this you can control from the mannequin.any file by
changing the values in the line :

   AnyVector GlenohumeralAbduction ={ 0,90,0};

Maybe it would be a good idea to go through the “Mechanical
Elements” tutorial

http://www.anybodytech.com/498.0.html

It explains about segments, joints and drivers. You can also study
the JointAndDriver.any files in the models FreePosture.any and
FreePostureMove.any.

Best regards
AnyBody Support

— In anyscript@yahoogroups.com, “weezxpxmra7” <weezxpxmra7@…>
wrote:
>
> Hi Soren,
>
> I tried to add the driver as you recommended, as well as constrain
> some of the other degrees of freedom, but I kept getting error
> messages. I have zipped all of the files and posted them in the
> files section of the anyscript group page. It is the basic
shoulder
> model files without the driver and without the constraints on any
> degrees of freedom. I was hoping you could take a look at it and
> maybe help me out with getting the right arm to abduct from 0-90
> degrees. I’m sure its something very simple, I’m just not
extremely
> familiar with the AnyScript language yet and I’m having a hard
time.
>
> Thank you very much!
> Mike
>
>
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
> wrote:
> >
> > Hi Mike
> >
> > I assume you have a Glenohumeral joint as a spherical joint in
> your
> > model. If you want this to create the abduction motion you need
to
> > add a AnyKinEqSimpleDriver to the dof of this joint which
> describes
> > the abduction motion.
> >
> > It could look like
> >
> > AnyKinEqSimpleDriver GHRot={
> > AnySphericalJoint &ref =…? //make a reference to your gh
joint
> > DriverPos={0,0,0};
> > DriverVel={pi*0.5,0,0}; //this will drive the rotation around
the
> z
> > axis
> > Reaction.type={Off,Off,Off}; //the muscles should carry the load
> not
> > the driver!
> > };
> >
> > The driver above assumes that the time is 1 sec. and that the
> > abduction rotation is about the z axis of the first reference in
> > your sphercial joint. The sequence of rotation of a spherical
> joint
> > is z,y,x .
> >
> > All models needs the same amount of drivers as they have number
of
> > dof, otherwise the kinematics can not be determined.
> >
> >
> > I hope this helps you move on, otherwise please do not hesitate
to
> > write again.
> >
> > Best regards
> > Søren, AnyBody Support
> >
> >
> > I — In anyscript@yahoogroups.com, “weezxpxmra7” <weezxpxmra7@>
> > wrote:
> > >
> > > Hi Soren,
> > >
> > > I have a simplified shoulder model loaded and I would like to
> look
> > at
> > > muscle forces from 0 to 90 degrees of abduction in the
scapular
> > > plane. I was having trouble figuring out how to make the
model
> go
> > > through this abduction motion (do I use drivers, etc.). Is
> there
> > a
> > > simple way to program this simple motion so that I can look at
> > muscle
> > > forces?
> > >
> > > Thanks so much,
> > > Mike
> > >
> >
>