Hi Lissette
It is actually possible to restrict the directions of the reaction forces to
be within a certain range, if they are created with the AnyGeneral muscles.
This exactly what is done in the GH joint in the shoulder!. The GH joint is
a spherical joint, which reactions have been switched off. Swithing off the
reaction is possible in all joints, by changing the following property.
Constraints.Reaction.Type, by default all its components will be on but you
can remove reactions individually from the joint.
For a revolute joint settings like
Constraints.Reaction.Type={off,off,off,on,on}; will mean that all three
forces reactions are switched off whereas the moment reactions is still on.
In the GH joint we wanted to constrain the direction of the reaction force
to fall within the glenoid cavity of scapula. To ensure this, eight pushing
muscles now acts from the gh joint rotation center onto the edge of the
glenoid cavity, to try to picture this setup it resembles the frame of a
tipi tent ;-).
Since each of the muscles can only push there is no way that the resultant
force can fall outside the cavity of the glenoid cavity.
The setup of the gh reactions can be found in the file
body/aauhuman/arm/ghreaction.any, this is a good example on how to implement
this.
Your case is not exactly the same but it resembles a lot, in my imagination
of your problem you will have to define a number of new nodes with the same
location but different rotations, but each vector which is lying in 20 deg
with wrt to horizontal. For each node you will create an AnykinLinear and a
pushing and pulling muscles acting on it. Then the solver will be able to
choose any combination of these vectors it can maximally be 20 deg because
there is no combination of vectors that can create forces above 20 deg.
This setup limits the angle not the size of the force.
When doing these kinds of models, it is a good idea to start simple
1 do a one segment model
2 apply the joint
3 remove the constraints as needed
4 apply the muscles needed, to do so you will also need to add so new nodes
with are rotated with the desired angles.
5 evaluate the results and make sure it makes sense.
I know I may sound a bit complicate, but try to look at the ghreaction.any
file it may help explain it better.
Best regards
Søren, AnyBody Support
From: anyscript@yahoogroups.com [mailto:anyscript@yahoogroups.com] On Behalf
Of rubertel
Sent: 11 December 2008 00:09
To: anyscript@yahoogroups.com
Subject: [AnyScript] Re: How to constraint reaction loads
Hi Soren
I also wanted to add, that my objective is to restrict the
orientation of the resultant reaction load not necesarrily its
magnitude. For example say you have a Resultant Reaction force of
magnitude 10 at an angle of 20deg. I would like to know what muscle
loads are necesarry to restrict the resultant to act at an angle of
10deg, which is known to me. Ofcourse one is dependent of the other,
by changing teh components you change the direction of teh resultant
load.
So in essence I know the direction of my resultant joint reactions.
Would I still need to use the dummy muscles or could I use someting
similar to the dummy segment?
Lissette
— In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
“rubertel” <rubertel@…> wrote:
>
> Hi Soren
>
> I am not sure how to define a dummy muscle to replace all
reactions.
> Let’s say I would usually have a revolute joint between two
segments.
> Do I still define a revolute joint? and use the comand AnyReaction
> Force to link it with 5 dummy muscles.
> Is there an example I can look at?
>
> Lissette
>
>
> — In anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com,
AnyScript Support
> <anyscriptsup@> wrote:
> >
> > Hi Lisette
> >
> >
> >
> > It is not in general possible to add limits to the size of
> constraint in
> > joints.
> >
> >
> >
> > If you want the constraints to be minimized then you have to
> remodel these
> > as AnyGeneral Muscles instead, this will make them part of the
> recruitment
> > problem and they can be minimized just like any other muscle in
> the model.
> >
> >
> >
> > The AnyGeneral muscles are muscles that can be applied to any
> measure, if
> > applied to a linear measure the supply force if applied to
> rotations they
> > supply moment. The muscles act in one direction you can set if
the
> muscles
> > should push or pull, default is pulling. This is controlled by
the
> > ForceDirection variable which default is “-1” by setting this
> to “1” you
> > have a muscle which is creating a push force.
> >
> >
> >
> > If you replace a reaction of a joint with one very strong
> AnyGeneral muscle
> > in each direction then the model will work almost as before but
> now the
> > reaction force is now part of the muscle recruitment. The
stronger
> this
> > muscle is, the more this problem will act as a normal constraint
> and the
> > lower the strength is the more the model will “feel the cost” of
> using this
> > muscle and try to recruit the other muscles in a way that will
> lower the
> > activity of this muscle.
> >
> >
> >
> > So in this way you can not add an absolute limit to the
constraint
> but you
> > can control it to some extend. Please be aware that this setup
> requires some
> > checking. If you want to use low strength values you should
> carefully check
> > the consequences of this on the model. If the strength is low
you
> may end up
> > with a model where this muscle is defining the height of the
> activity
> > envelope, which means that the model will try in every way
> possible to lower
> > the activation of this “reaction”, this may not be a
physiological
> muscle
> > recruitment criteria for the normal muscles.
> >
> >
> >
> > Best regards
> >
> > Søren, AnyBody Support
> >
> >
> >
> > _____
> >
> > From: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
[mailto:anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com]
> On Behalf
> > Of rubertel
> > Sent: 02 December 2008 03:15
> > To: anyscript@yahoogrou <mailto:anyscript%40yahoogroups.com> ps.com
> > Subject: [AnyScript] How to constraint reaction loads
> >
> >
> >
> > Hi
> >
> > I am working on a simplified 2D lumbar spine model with 5
revolute
> > joints. I have the reactions loads set to “off” and I added
> passive
> > resistance to each joint. I used the AnyForceMeasure2 to
calculate
> my
> > reaction loads and moment at each joint. I would like to add
> > constraints to my reaction loads, such as minimize moment or
> minimize
> > shear.
> > Can you please give me some advice on how I can constraint my
> > reactions?
> >
> > Thanks,
> >
> > Lissette
> >
> >
> >
> >
> >
> > [Non-text portions of this message have been removed]
> >
>
[Non-text portions of this message have been removed]