Hi Pierre-Olivier
I wil try to list the consequences of commeting the different items:
‘GHreactions.any’ This will have no effect on the motion but it will
remove the linear reactions in the GH joint.
‘GHLinCon’ By not having this object you will remove three linear
constraints in the GH joint, so it bascially removes the joint…
The reactions in this object has already been switched off, so the
reactions are not affected by removing the object.
‘GHDriverRight’ This driver drives the rotations between scapula and
huemrus so removing this object leaves these rotations free.
So as i have understood your problem you still need to have the
GHDriverRight active to control the motion of the humerus.
Furthermore you also need to have the new interpolation driver
between scapula and humerus active this will basically replace the
GHLinCon object, the reactions in this interpolation driver should
remain on, you have nothing else to carry these reactions as i see
the problem.
There is a problem here though, by having these reactions switched
on in the interpolation driver and having a motion introduced there
at the same time, it adds artificial energy to the system. In a
normal spherical joint with no linear motion there is no energy
added since there is no lin. motion, but this is not the case here,
i am afraid this will be a problem.
In principle you need to be able to define these reactions wrt to
something that do not move, otherwise you will introduce energy into
the system.
I have not fully understood what controls the lin motion of the gh
joint center in your case, so i need more info on this in order to
suggest a solution.
I have a loose idead on a possible setup, that may solve some of the
problem. I think it is important to keep the principle of the
GHreactions.any file, please see the previous posting on the concept
of this file if needed. Maybee you could “cut loose” the glenoid
cavity as a new segment and the create a prismatic joitn between
this new seg and scapula, that could slide in the desired direction.
The GHLinCon should then be changed so that it would measure wrt to
this new seg. This setup would ensure a good description of the
reactions in the GH joint. There is still one question left though
what should be the setting of this new dof of the prismatic joint?,
if possible i think it should be free, but it is not sure that the
muscles around the GH joint will be able to balance it for all load
cases.
Best regards
Søren, AnyBody Support
> order to make my glenohumeral articulation free. I’ve switched Off
the
> Reaction.type of my interpolation driver. Now I have a lack of
> constraints in my model (3 missing constraints). I can figure 2 of
> them, that are the X and Z constraints of the GH articulation. So,
I
— In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
<pothekid@…> wrote:
>
> Hi again Soren,
> sorry for the mixed-up, it was very late yesterday.
So
> the MarkerData_Humerus is the interpolation function that allow the
> translation of the humerus from the initial position to 9 mm upward
> this position. I was not sure about the linear and rotational
measure
> between scapula and humerus. Actually I think that is wrong
because I
> can drive the humerus directly by absolute coordinates in the
> interpolation function. I was trying to do like the ‘MarkerData’
> script in the Gait3D model and like my ‘via points’. I’ve supposed
> that these drivers was necessery, in order to make the model
works, so
> maybe I’ve misunderstood something about that.
>
> So, I’ve commented ‘GHreactions.any’,‘GHLinCon’
and ‘GHDriverRight’ in
> order to make my glenohumeral articulation free. I’ve switched Off
the
> Reaction.type of my interpolation driver. Now I have a lack of
> constraints in my model (3 missing constraints). I can figure 2 of
> them, that are the X and Z constraints of the GH articulation. So,
I
> don’t really know how to add these X and Z constraints and how to
find
> the other constraint to add, in order to make my model works.
>
> Thank you for your quick support (even with the time shift between
> Aalborg and Montreal
… )
>
> Have a nice day
>
> Pierre-Olivier
>
>
>
> — In anyscript@yahoogroups.com, “AnyBody Support” <support@>
wrote:
> >
> > Hi Pierre-Olivier
> >
> >
> > I have tried to debug you model but i think i miss the file used
by
> > this code:
> >
> >
> >
> > AnyString datafile = “F:\Program Files\AnyBody
Technology\AnyBody.2.0
> > ranslation.txt”;
> >
> > AnyFunInterpol MarkerData_humerus =
> > {
> > Type=Bspline;
> > BsplineOrder = 8;
> > FileName = .datafile;
> > };
> >
> >
> > This is in the “Seg.any” file.
> >
> >
> > I took a look at the Seg.any file, you have added a driver of
the
> > linear measure between scapula and humerus. So this adds three
> > constraints to the problem.
> >
> > So in order to have the model running you need to remove three
dof
> > from the model, otherwise it will be overconstrained.
> >
> > In the Jnt.any there is the following lines :
> >
> >
> > AnyKinEq GHLinCon = {
> > AnyKinMeasure &GHLinCon = .GHLin;
> > Reaction.Type={Off,Off,Off};
> > };
> >
> >
> > These adds also three lin constraints between the same two
segments
> > so they will be in conflict if they are both active at the same
> > time.
> >
> >
> > Please consider also how you would like to have the lineat
reactions
> > in the GH joint to carried? In the org. version of the Brep the
> > GHReacytion.any file takes care of ensuring that the reactions
in
> > the GhH joints falls within the cavity on scapula. In your code
by
> > having the reactions switched on, in the interpoaltion driver,
this
> > will not be the case. So i think you should swicth off the
reactions
> > in this interpolation driver.
> >
> > Looking forward to see you too in Aalborg 
> >
> > Best regards
> > Søren, AnyBosy Support
> >
> >
> >
> >
> >
> >
> >
> > — In anyscript@yahoogroups.com, “Pierre-Olivier Lemieux”
> > <pothekid@> wrote:
> > >
> > > Hi Soren,
> > > i’ve worked on my model for a couple of days and now
I
> > face a
> > > new problem. I have to drive the glenohumeral joint in
translation,
> > > that is the core of my research effort. The fact is that I
study
> > the
> > > effect of the rotator cuff muscles tears and in this case, the
> > > stability of the glenohumeral joint is compromised. So I want
to
> > allow
> > > a translation of the joint in the Y direction with a point file
> > > (translation.txt). I’m not very good with the joints and
drivers,
> > but
> > > i’ve added the point file just before the humerus segment code
and
> > a
> > > linear driver just after this same code. You’ll find it in the
> > > ‘seg.any’ script. So, I have the same number of constraints
and
> > degree
> > > of freedom but it gives my this error :
> > >
> > > ERROR(OBJ.MCH.KIN2) : F:\Program Files\AnyBody
> > > Technology\AnyBody.2.0\Repository.6.0.1
> > \BRep\Aalborg\Arm3D\ArmCal0.any(105)
> > > : ‘ArmCalibrationStudy0’ : Model is kinematically
> > > over-constrained : Position analysis failed : 3 unsolvable
> > > constraint(s) found
> > >
> > > Maybe i’m doing the wrong way, i’m not sure of that. So if you
can
> > > have a look on it, it would be very appreciated. I will put
all the
> > > files in the ZIP file ‘shoulder_model_with_translation.zip’.
> > >
> > > So, thank you in advance
> > >
> > > Looking forward to meet you in Aalborg in 2 weeks
> > >
> > > bye bye
> > >
> > > Pierre-Olivier
> > >
> >
>