NoMuscles model in Gait3D

> and change them to these
> AnySeg &PsoasMajorRightReference=.Right.Leg.Seg.Thigh;
> AnySeg &PsoasMajorLeftReference=.Left.Leg.Seg.Thigh;

Great. That worked. Thanks!

> This model do not have muscles in the spine, it uses joint
> reactions in the joints instead of muscles. This will give you
> another reaction force in the spine joints than if you use the spine
> with the muscles on in the SpineTwoLegs directory, i think you
> should use the latter.

For my purposes, I believe I need to use the muscle-less model but please
correct me if I’m wrong. Ultimately, I am interested in the x, y, z forces as
well as the x,y and z moments created at the L5/S1 joint for comparison with
NIOSH limits. I understood that it would not be possible to see the moments
using the model with muscles. Am I correct? Or would I still be able to access
these values if I use the model with muscles?

> The next warning that it displays says that the model has too few
> kinematic constraints maybee you have not added the posture driver
> yet?

I have already added the posture driver from the standing model. Perhaps you
could take a look at in the yahoo files section?

> You are right that the pelvis width is the distance between the hip
> joints. I do not know of any databases giving the pelvis width as a
> function of height, i think the best thing will be to estimate it as
> a function of the distance between the trochanter.

I have a question about how scaling works. I don’t understand how the
AnyJack/AnyAnne files interact with a chosen scaling law (I believe I was told,
LengthMass scaling has been found to be the most accurate). If my main file
links to a “AnyNurse” file, do I need to make sure all the anthropometric data
for my subject is the same? or only the stuff at the bottom of the AnyNurse
file? - ie Thigh length, foot length, shank length, pelvis width, trunkheight,
upperarmlength, lowerarmlength, headheight.

I assume I’d also have to change the subject’s weight too. But it seems odd to
me that there is no where to input the height. Ideally, I would like to have the
option of only inputting height and weight and getting the script to estimate
all other parameters.

For the time being, I would like to understand how the gait3d example is scaling
it self.

Thanks,
Tilak

Hi Tilak

The spine model with no muscles on makes it possible to see the
moment in the l5/s1 joint that is right. In future it we hope it
will be possible to add the muscles in the AnyForceMomentMeasure.
The AnyForceMomentMeasure makes it possible to measure forces and
moment acting on a specific point, please read more about this in
the manual. Currently it is not possible to add muscles into this
measure but we plan to do this soon, this should make it possible to
measure the net moment of the muscles around a specific joint.

For a mechanical open chain model like the gait model the net
moments measured with the AnyForceMoment measure and the net moment
found on the spine model with no muscles on, should end up equally.
But if the model forms a close kinematical chain like if the hands
are holding on to a fixed object then you will need to use the model
with the muscles on. The explanation is that when it comes to closed
chain models the relative strength around the joints become of
importance, and this is not taken into account if the model has no
muscles.

The reaction forces in x,y,z can be seen on both models, but they
will be very different due to the muscle forces. I am not sure how
the values are given in NIOSH, do it take the muscle forces into
account or is the disk pressure purely relate to external loads?. In
case the NIOSH values for the reaction forces do not take into
account the extra reactions occurring from the muscle contraction i
guess you could use the spine with no muscles on, and then you did
not needed to add the spine to the model. But if you want the most
accurate reaction force in this joint then you need to add the
muscles to the spine.

I am sorry i did not look in the JointsAndDriver.any file i think
what you are missing now is a driver for the neck joint, you may
find an example of that in the Standingmodel/JointsAndDrivers.any
file.

The most accurate of the scaling laws is the LenghtMassFat law, it
takes length mass and fat percentage into account. You can read more
about the scaling here

Preivous webcast
http://www.anybodytech.com/fileadmin/examples/ScalingWebcast.pdf
Abstract for ISB conference in Cleveland this summer.
http://anybody.aau.dk/pdf/ScalingAbstract.pdf
Poster for ISB conference in Cleveland this summer.
http://anybody.aau.dk/pdf/ScalingPoster.pdf (9MB)

I will try to explain how the scaling works briefly.

All body parts have a standardparameters.any file, this file
contains the unscaled lengths of the segments and their masses. In
the AnyFamily file like AnyAnne.any the segment length and segment
masses for the specific person is listed. The scaling then
automatically adjusts the model to meet the specifications in the
anyfamily file.

In the AnyJack file the segment masses are calculated as a function
of the total mass, you are right that we might as well had made a
similar function for the segment lengths as a function of the
height, this is straightforward do to if you have the function.

I am not sure i understand what you mean by “do I need to make sure
all the anthropometric data for my subject is the same?”
In your AnyNurse file you need to specify segment length and segment
masses, bmi, and total mass.

The gait model uses the file Arep/aalborg/gait3d/AnyMan.any for
scaling.

Best regards
AnyBody Support

— In anyscript@yahoogroups.com, tilak.dutta@u… wrote:
>
> > and change them to these
> > AnySeg &PsoasMajorRightReference=.Right.Leg.Seg.Thigh;
> > AnySeg &PsoasMajorLeftReference=.Left.Leg.Seg.Thigh;
>
> Great. That worked. Thanks!
>
> > This model do not have muscles in the spine, it uses joint
> > reactions in the joints instead of muscles. This will give you
> > another reaction force in the spine joints than if you use the
spine
> > with the muscles on in the SpineTwoLegs directory, i think you
> > should use the latter.
>
> For my purposes, I believe I need to use the muscle-less model but
please
> correct me if I’m wrong. Ultimately, I am interested in the x, y,
z forces as
> well as the x,y and z moments created at the L5/S1 joint for
comparison with
> NIOSH limits. I understood that it would not be possible to see
the moments
> using the model with muscles. Am I correct? Or would I still be
able to access
> these values if I use the model with muscles?
>
> > The next warning that it displays says that the model has too
few
> > kinematic constraints maybee you have not added the posture
driver
> > yet?
>
> I have already added the posture driver from the standing model.
Perhaps you
> could take a look at in the yahoo files section?
>
> > You are right that the pelvis width is the distance between the
hip
> > joints. I do not know of any databases giving the pelvis width
as a
> > function of height, i think the best thing will be to estimate
it as
> > a function of the distance between the trochanter.
>
> I have a question about how scaling works. I don’t understand how
the
> AnyJack/AnyAnne files interact with a chosen scaling law (I
believe I was told,
> LengthMass scaling has been found to be the most accurate). If my
main file
> links to a “AnyNurse” file, do I need to make sure all the
anthropometric data
> for my subject is the same? or only the stuff at the bottom of
the AnyNurse
> file? - ie Thigh length, foot length, shank length, pelvis width,
trunkheight,
> upperarmlength, lowerarmlength, headheight.
>
> I assume I’d also have to change the subject’s weight too. But it
seems odd to
> me that there is no where to input the height. Ideally, I would
like to have the
> option of only inputting height and weight and getting the script
to estimate
> all other parameters.
>
> For the time being, I would like to understand how the gait3d
example is scaling
> it self.
>
> Thanks,
> Tilak
>

> The reaction forces in x,y,z can be seen on both models, but they
> will be very different due to the muscle forces. I am not sure how
> the values are given in NIOSH, do it take the muscle forces into
> account or is the disk pressure purely relate to external loads?.

The NIOSH values are intended to be the limit for the spine in the body. For
example, if the body were made of only rigid segments, the load at L5/S1 would
be some value. In reality we know that due to co-contraction,(contraction of
muscles on either side of the spine to stabilize the system) the actual loading
is considerably higher. Similarly, abdominal pressure plays a part in aleviating
some of the force on the spine. I need the resultant forces that take
co-contraction, abdominal pressure etc into account.

Are you positive that use of a muscle-less model will ignore co-contraction etc?
I seem to remember discussing this with Arne a while back and I came away
feeling like the muscle-less model was what I should be working with.

If you’re sure, I’ll conclude that I need to work with the muscled-model to get
accurate forces. But currently, if the AnyMomentMeasure can’t be applied with
muscles, then I will need to pull these values from a muscle-less-model. My
question is: how accurate will the moments values be?

> I am sorry i did not look in the JointsAndDriver.any file i think
> what you are missing now is a driver for the neck joint, you may
> find an example of that in the Standingmodel/JointsAndDrivers.any
> file.

No problem. Well, I tried to add in the neck joint driver as you said:

AnyKinEqSimpleDriver NeckJntDriver = {
AnyRevoluteJoint &T12L1Joint = .ref.JointsLumbar.NeckJnt;
DriverPos = {0};
DriverVel = {0};
Reaction.Type = {1};
};

But ofcourse, it complained about T12L1Joint being unknown:

“Gait3D\JointsAndDrivers.any(102) : T12L1Joint : Unresolved object.”

Is there an easy way to get around this? (Again, I’ve place the updated
JointsAndDrivers.any file in the newsgroup files section.)

> In your AnyNurse file you need to specify segment length and segment
> masses, bmi, and total mass.

Where can I enter the BMI and segment masses? The only place I see BMI is in
BREP\Aalborg\BodyModels\Include\BodyParameters.any. It also appears that I must
enter body mass in this BodyParameters.any file as well as in the AnyNurse.any
file. Or is this the reference for scaling factors - sort of the
standardparameters.any equivalent for the whole body?

As for the segment masses, I assume you made a typo. I see earlier in your email
you wrote that the segment masses get calculated as a function of total body
mass.

Hi Tilak

If you need the reaction force that takes into account for co-
contraction, abdominal pressure etc, then for sure you will need the
spine model with muscles on. This model will have higher reaction
forces in the joints due to co-contraction, abdominal pressure etc.
The model with no muscles on will not be affected at all by co-
contraction etc. It will just balance the reactions in the joints to
fit the external loads disregarding the “internal” loads from
muscles co-contraction etc, they are simply not present in this
model.

You are right that you need to get the moment reactions from the
muscle less model, currently there is no other way.
I think the moments will be accurate as long that the model forms an
open chain like i explained previously. If the model forms a closed
chain it can be done too, by adding artificial joint muscles in the
spine joints and adjusting their strength to be reasonable, compared
with the real muscles.

Ok the error message says it can not find the neck joint, this is
because the reference to the neck joint is not correct.

The script says
AnyRevoluteJoint &T12L1Joint = .ref.JointsLumbar.NeckJnt;

This I guess is copied from standingmodel as I suggested. In the
standing model JointsAndDrivers.any file exist a reference to a
folder named “ref”

If you look in the file this reference to the folder is defined as

AnyFolder &ref=Main.Model.HumanModel.Trunk;

This means that ref is a folder which refers to the trunk

So when you write
AnyRevoluteJoint &T12L1Joint = .ref.JointsLumbar.NeckJnt;

This is the same as writing

 AnyRevoluteJoint &T12L1Joint = Main.Model.HumanModel.Trunk;

.JointsLumbar.NeckJnt;

Normally references to folders are made because it makes writing the
script easier and it can be used for lots of stuff, it is an
important feature of AnyScript.

The procedure to resolve an unresolved object error, is to out
comment the stuff which contains the error, reload and then locate
the object in the model tree and write the correct reference.

In this particular case I think the following line will solve the
problem, but try to look in the model tree and see that it is
correct.
AnyKinMeasureOrg &Ref1 = …HumanModel.Interface.Trunk.NeckJnt;

>Where can I enter the BMI and segment masses?

You are right that the BMI is not something that can be entered
directly, sorry, it is calculated from height and mass.

The BodyParameter.any file should not be changed when doing this
work.

>It also appears that I must enter body mass in this
BodyParameters.any file as >well as in the AnyNurse.any file

The Body mass needs to be entered in the AnyNurse.any file only

>Or is this the reference for scaling factors - sort of the
>standardparameters.any equivalent for the whole body?

This I did not understand?

>As for the segment masses, I assume you made a typo. I see earlier
in your >email you wrote that the segment masses get calculated as a
function of total >body mass.

This is still correct please look in Scaling/AnyJack.any, in
principle you may use the AnyJack.any file as template for the
AnyNurse.any file. If you know the segments lengths as a function of
the height you may add this as a function like it is done for the
segment masses.

Best regards
AnyBody support

— In anyscript@yahoogroups.com, tilak.dutta@u… wrote:
>
> > The reaction forces in x,y,z can be seen on both models, but
they
> > will be very different due to the muscle forces. I am not sure
how
> > the values are given in NIOSH, do it take the muscle forces into
> > account or is the disk pressure purely relate to external loads?.
>
> The NIOSH values are intended to be the limit for the spine in the
body. For
> example, if the body were made of only rigid segments, the load at
L5/S1 would
> be some value. In reality we know that due to co-contraction,
(contraction of
> muscles on either side of the spine to stabilize the system) the
actual loading
> is considerably higher. Similarly, abdominal pressure plays a part
in aleviating
> some of the force on the spine. I need the resultant forces that
take
> co-contraction, abdominal pressure etc into account.
>
> Are you positive that use of a muscle-less model will ignore co-
contraction etc?
> I seem to remember discussing this with Arne a while back and I
came away
> feeling like the muscle-less model was what I should be working
with.
>
> If you’re sure, I’ll conclude that I need to work with the muscled-
model to get
> accurate forces. But currently, if the AnyMomentMeasure can’t be
applied with
> muscles, then I will need to pull these values from a muscle-less-
model. My
> question is: how accurate will the moments values be?
>
> > I am sorry i did not look in the JointsAndDriver.any file i
think
> > what you are missing now is a driver for the neck joint, you may
> > find an example of that in the
Standingmodel/JointsAndDrivers.any
> > file.
>
> No problem. Well, I tried to add in the neck joint driver as you
said:
>
> AnyKinEqSimpleDriver NeckJntDriver = {
> AnyRevoluteJoint &T12L1Joint = .ref.JointsLumbar.NeckJnt;
> DriverPos = {0};
> DriverVel = {0};
> Reaction.Type = {1};
> };
>
> But ofcourse, it complained about T12L1Joint being unknown:
>
> “Gait3D\JointsAndDrivers.any(102) : T12L1Joint : Unresolved
object.”
>
> Is there an easy way to get around this? (Again, I’ve place the
updated
> JointsAndDrivers.any file in the newsgroup files section.)
>
> > In your AnyNurse file you need to specify segment length and
segment
> > masses, bmi, and total mass.
>
> Where can I enter the BMI and segment masses? The only place I see
BMI is in
> BREP\Aalborg\BodyModels\Include\BodyParameters.any. It also
appears that I must
> enter body mass in this BodyParameters.any file as well as in the
AnyNurse.any
> file. Or is this the reference for scaling factors - sort of the
> standardparameters.any equivalent for the whole body?
>
> As for the segment masses, I assume you made a typo. I see earlier
in your email
> you wrote that the segment masses get calculated as a function of
total body mass.
>