Shoulder modelling

Hi AnyBody-Team,

i am working with a shoulder-model from the repository for my diploma-
thesis.
I used the building block tutorial and included the files
SpineNoMusclesRightArm.any from the BRep, because i wanted the
computing time kept as short as possible and i´m not interested in
the trunk- or leg-muscles.
There is a Webcast on the 26th April with the subject Validation of
the AnyBody ver-sion of the Dutch Shoulder Model by the in-vivo
measurement of GH contact forces by Bergmann et al. (26 Apr).
I read the paper and tried to simulate the motions Bergmann´s patient
did. For e-xample: The GHReactions (FTotal) shows a Resultant Force
of only about 40 N while 90° abduction with a load of 20 N in the
hand.
Are these forces measured in the GHReactionCenterNode? How do you
measure these forces?
Could it be , that the fixed position of the humerus with reference
to the scapula is the reason for the little GHReactions? So how could
i implement friction in the GH-joint (main reason for moment and
additional lever arms which apply high load to the joint-surface)?
With the simple muscle model (from ShoulderArm.root.any), the motion
90° abducti-on stops after the 5th step with the error-message „ERROR
(OBJ1) : Q:\Biomechanik\Projekte\018_AnyBody\Repository.6
\Repository.6\ARep\Murnau\MyShoulder\MyShoulder.Main.any
(58) : ‘MyStudy’ : Muscle recruitment analysis fai-led, simplex
solver reports that solution does not satisfy all constraints.".
Other types of motion are working fine, so what could that be?
Another Question is, how i can activate some of the drivers time-
shifted? Should i use the interpolation-driver or is there any other
alternative?
Do you already have some ideas how to improve your shoulder-model?
Unfortunately, my time is running out, so i would appreciate an
answer ahead, so i don´t need to wait until the 26th April.

Thank you very much,

Alex

Hi Alex

I will try to answer your questions.

The property GhReation.FTotal i measured in the global coordinate
system, you can see how it is calculated in the file
BRep/ArmShoulder/GHreactions.any, it is a summation of muscles
forces. It is a long explanation: the gh reaction is created by eight
pushing muscles which all points into the GH rotations center and
originates form the edge of the cavity of scapula. This setup ensures
that the gh reaction force will always fall within the joint cavity.
The FTotal property is a summation of these forces.

How do you drive the arm?, please make sure that you have no
reactions presents in your drivers this make take away load from the
arm and result in a gh lower reaction.

I have reviewed the file GHReactions.any, here i found a bug in the
summation of the shoulder forces, which has the effect that the
forces are too small by a certain factor, the shape and direction of
the forces are not effected. The FTotal is found as a summation of
eight forces as mentioned earlier, here the force in the muscle Ft is
multiplied on a vector, and it was this vector which was not
normalized. Since the eight vectors are all small and all have the
same length this only changes the size of the force. I will upload a
file named GHReaction.any to the file section of this group shortly.

In principle it would be possible to implement friction on the eight
pushing muslces mentioned above but i am not sure how this would work
out and what the size of the friction coefficient should be? If you
are more interested in this please look into the example named
PedelDemoConditional and look in the file JointAndDrivers.any in the
bottom of this file you can see an example on the use of the friction
element.

I can not say exactly why you get this error, here is a suggestion
that may help. Sometimes if you add a small amount of gravity to
another direction it creates a problem which are easier to solve for
the optimizer, so something like this {0.001,-9.81,0.001} could work.

About the timeshift i understand this as you would like to have
motion in one joint and then later on motion in another joint. If
this is the case it can be done with interpolation drivers as you
suggest, fourier drivers might also be an option, depending on what
kind of motion you would like to obtain.

Please ask again if you have further questions

Best regards

Søren, AnyBody Support

— In anyscript@yahoogroups.com, “noltealexander”
<alexander.nolte@…> wrote:
>
> Hi AnyBody-Team,
>
> i am working with a shoulder-model from the repository for my
diploma-
> thesis.
> I used the building block tutorial and included the files
> SpineNoMusclesRightArm.any from the BRep, because i wanted the
> computing time kept as short as possible and i´m not interested in
> the trunk- or leg-muscles.
> There is a Webcast on the 26th April with the subject Validation of
> the AnyBody ver-sion of the Dutch Shoulder Model by the in-vivo
> measurement of GH contact forces by Bergmann et al. (26 Apr).
> I read the paper and tried to simulate the motions Bergmann´s
patient
> did. For e-xample: The GHReactions (FTotal) shows a Resultant Force
> of only about 40 N while 90° abduction with a load of 20 N in the
> hand.
> Are these forces measured in the GHReactionCenterNode? How do you
> measure these forces?
> Could it be , that the fixed position of the humerus with reference
> to the scapula is the reason for the little GHReactions? So how
could
> i implement friction in the GH-joint (main reason for moment and
> additional lever arms which apply high load to the joint-surface)?
> With the simple muscle model (from ShoulderArm.root.any), the
motion
> 90° abducti-on stops after the 5th step with the error-
message „ERROR
> (OBJ1) : Q:\Biomechanik\Projekte\018_AnyBody\Repository.6
> \Repository.6\ARep\Murnau\MyShoulder\MyShoulder.Main.any
> (58) : ‘MyStudy’ : Muscle recruitment analysis fai-led,
simplex
> solver reports that solution does not satisfy all constraints.".
> Other types of motion are working fine, so what could that be?
> Another Question is, how i can activate some of the drivers time-
> shifted? Should i use the interpolation-driver or is there any
other
> alternative?
> Do you already have some ideas how to improve your shoulder-model?
> Unfortunately, my time is running out, so i would appreciate an
> answer ahead, so i don´t need to wait until the 26th April.
>
> Thank you very much,
>
> Alex
>

Hi Søren,

I still have some problems with my shoulder-model. When I run a 45°
abduction (I drive only the abductin in the gh-joint, the other values are
fixed.) with an elbowpronation of 38° and an elbowflexion with 2°, I get
this error:

ERROR :
Q:\Biomechanik\Projekte\018_AnyBody\Repository.6\Repository.6\BRep\Aalborg\Arm3D
\Muscle.any(521)
: pectoralis_major_thoracic_part_5 : Unexpected exception in the
library OOSol :
OOSol exception : General factorization exception : Negative or zero
pivot

Can you help me with that problem? Yesterday the simulation worked fine and
I can´t remember I changed something like a variable or a vector. Or could
there be any effect, when I outcomment some muscles or outcomment or
implement some draw-functions?

When I use an AnyDrawRefFrame with an new sRel or ARel, will only the drawn
Refframe move, or also the Refframe used for calculating the forces? If the
first case is correct (drawn Refframe will move), there would be no change
in the force-directions, right?

In which coordinate system are the GHReactionforces measured? I looked at
the force-vector while running the simulation and compared it to the
force-diagram and it seems that the forces are measured in the global
coordinate system, right?

I hope, these are not too many questions;-). If it would be easier for you
to give me some advices when you see the model, just tell me and I will
upload it at the yahoogroup.
Thanks for your help and Happy Easter.

Best Regards,

Alexander Nolte

Berufsgenossenschaftliche Unfallklinik Murnau, Prof. Küntscher Str. 8,
82418 Murnau am Staffelsee
Eingetragener Verein, Amtsgericht München, Registernummer VR 4704
Geschäftsführer Direktor Dr. Peter Schmidt

Hi Alexander

Sorry about the delay…

The error you get is a muscle wrapping error on the
pectoralis_major_thoracic_part_5 muscle, so it will have an effetct
if this muscle was previously outcommented. The drawing stuff will
not affect the analysis in anyway.

To resolve this problem please try to add more points in the
discretization of this particular muscle, this is done by increasing
the StringMesh property of the muscle. Try adding ten more points for
example, it usually makes the problem more robust.

I am not sure what you mean by the AnyDrawRefFrame. I will try to
explain, please ask again if this was not what you had in mind;-).
The AnyDrawRefFrame is just a visual representation of a coordinate
system, so if you add this is a node it will dispaly the cooridnate
system of the node. If it is on a segment it will display the segment
cooridnate system and so on. If you change a sRel or ARel of a node
and there is a AnyDrawRefFrame inside the node this coordinate system
will move according to the changes of Arel and sRel. If the node is
used for calculating forces any change made to aRel or srel will have
an effect on the results.

You are right about the coordinate system of the GHReactions these
are in the globalref system. If yu would liek to have them in another
coordinate system you need to mlutiply the proper rotation matrix.

Please just ask again if you have further questions

Best regards
Søren

— In anyscript@yahoogroups.com, alexander.nolte@… wrote:
>
>
>
>
>
> Hi Søren,
>
> I still have some problems with my shoulder-model. When I run a 45°
> abduction (I drive only the abductin in the gh-joint, the other
values are
> fixed.) with an elbowpronation of 38° and an elbowflexion with 2°,
I get
> this error:
>
> ERROR :
> Q:\Biomechanik\Projekte\018_AnyBody\Repository.6\Repository.6
\BRep\Aalborg\Arm3D\Muscle.any(521)
> : pectoralis_major_thoracic_part_5 : Unexpected exception in
the
> library OOSol :
> OOSol exception : General factorization exception : Negative or
zero
> pivot
>
> Can you help me with that problem? Yesterday the simulation worked
fine and
> I can´t remember I changed something like a variable or a vector.
Or could
> there be any effect, when I outcomment some muscles or outcomment or
> implement some draw-functions?
>
> When I use an AnyDrawRefFrame with an new sRel or ARel, will only
the drawn
> Refframe move, or also the Refframe used for calculating the
forces? If the
> first case is correct (drawn Refframe will move), there would be no
change
> in the force-directions, right?
>
> In which coordinate system are the GHReactionforces measured? I
looked at
> the force-vector while running the simulation and compared it to the
> force-diagram and it seems that the forces are measured in the
global
> coordinate system, right?
>
> I hope, these are not too many questions;-). If it would be easier
for you
> to give me some advices when you see the model, just tell me and I
will
> upload it at the yahoogroup.
> Thanks for your help and Happy Easter.
>
> Best Regards,
>
>
> Alexander Nolte
>
> Berufsgenossenschaftliche Unfallklinik Murnau, Prof. Küntscher Str.
8,
> 82418 Murnau am Staffelsee
> Eingetragener Verein, Amtsgericht München, Registernummer VR 4704
> Geschäftsführer Direktor Dr. Peter Schmidt
>