Hi Soeren
Thanks for adjusting that model for me I’ve found all of your
corrections and it’s beginning to make sense, another question- If at
the finish position (horizontal), i wanted to make the model push back
down (to the initial inclined position), where would i need to place
new drivers to do this- or can the BackRestPivotDriver be adjusted to
do this job also. (This is the main point of the exercise i’ve
designed, being able to work both the flexor (front) and extensor
(back) muscle groups at the same.)
Also, I think I need to place the AnyKinPLines around the waist and
upper legs…In which folder do I specify them?
Thanks again, Best Regards,
Allen
— In anyscript@yahoogroups.com, “AnyBody Support” <support@a…> wrote:
>
> Hi Allen
>
> I have taken a look at the model Abxercise.zip model and made some
> changes in it, it now makes the motion you describe i think. The new
> zip file is uploaded and named AbexerciseV2.zip
>
> You are right about that a new revolute joint needed to be created
> between the backrest and the ground. Furthermore a new joint had to
> be made between the legrest and the ground. Then i have added a
> driver to the revolute joint on the backrest.
>
> I have made numerous changes in the Environment.any file in the
> Joints and in the drivers folder, please look through it and see the
> changes.
>
> You may adjust the location of the pivot points using the new
> variables in the top of the environment file. The motion of the
> mechanism may be controlled by a new variable introduces in the top
> of the main file.
>
> What is missing in the model is fine tuning of the mechanism and the
> connection between the body and the seat that will allow the person
> to pull the mechanism upwards.
>
> You may do this by adding AnyKinPLines that wraps around the body at
> the right locations like straps. Then afterwards add an AnyReacForce
> to them that will ensure that the Pline can have an reaction
> applied. Please read more about AnyKinPLines and the AnyReacForces
> in the reference manual.
>
>
> I hope this helps you move forward, please do not hesitate to ask
> again if you have further questions.
>
> Best regards
>
> Soeren AnyBody Support
>
>
>
>
> — In anyscript@yahoogroups.com, “ujermakpiff” <ujermakpiff@y…>
> wrote:
> >
> > a note on the last post- by “lock a node to the ground point”, I
> think
> > I mean that I need to create a hinge at BackRestHeadRestNode which
> is
> > fixed to the ground point…is this right and is it simple to
> > do?..and if so how?
> >
> > Thanks again, Best Regards
> >
> > Allen
> >
> >
> >
> >
> > — In anyscript@yahoogroups.com, “ujermakpiff” <ujermakpiff@y…>
> wrote:
> > >
> > > Hi John / Soeren
> > >
> > > Happy new year…
> > > Thanks for your last reply, i’ve been trying to work on it, but
> with
> > > little success- I can’t figure out what half of the lines in the
> joint
> > > file are actually for? Is it really such a difficult job as I
> believe
> > > it is, or am i going about it the wrong way?..all i should need
> to do
> > > to get the model to perform how I want it to is to lock a node
> which
> > > is near the head (such as BackRestHeadRestNode) to the GroundRef
> and
> > > create a driver about it…is this correct?..(the photo i’ve
> > > displayed shows this model doing nearly exactly the same
> exercise,
> > > with the same supports, but instead of starting flat and sitting
> > > up…my model starts flat and crunches down into the same
> position).
> > >
> > > Best Regards, Allen
> > >
> > >
> > >
> > >
> > > — In anyscript@yahoogroups.com, “AnyBody Support”
> <support@a…>
> > wrote:
> > > >
> > > >
> > > > Hi Allen
> > > >
> > > > I have tried to answer your questions below, my answers are
> marked
> > > with yelow
> > > >
> > > >
> > > > — In anyscript@yahoogroups.com, “ujermakpiff”
> <ujermakpiff@y…>
> > > wrote:
> > > > >
> > > > > Hi John
> > > > >
> > > > > Thanks for that advice, it makes it a lot easier to navigate
> the
> > > > > files and I promise this is the last question before
> christmas…
> > > > >
> > > > > The main file I think I need to adapt is the joints
> file…if you
> > > > > look at the pivot point image I posted for you, the mechanism
> > pivots
> > > > > from two “fixed” points- the first one I want to tackle is
> the one
> > > > > below the head, so what I assume I have to do is to lock one
> of
> > head
> > > > > nodes to the GroundRef and create a joint there about which
> it can
> > > > > pivot, it turns out that these joint file are a little
> complex
> > and I
> > > > > don’t really understand all of the contents- I figured that
> the
> > best
> > > > > thing was to copy another joint (pelvis seat joint) and try
> to
> > adapt
> > > > > it to create a joint around the BackRestHeadRestNode- below
> is how
> > > > > far i’ve got- some parts i’ve changed, but others are still
> the
> > > > > original pelvis line- i’ve written some questions in “CAPS”
> next to
> > > > > the line that confuse me.
> > > > >
> > > > > //----------------------------------------------
> > > > > // JOINTS - HEAD - SEAT
> > > > > //----------------------------------------------
> > > > >
> > > > > AnyFolder HeadRestJnt = {
> > > > >
> > > > > AnyKinLinear HeadRestLinMeasure = {
> > > > > AnyRefFrame &RestRef
> > > > > = …RefP.Seg.BackRest.BackRestHeadRestJntNode;
> > > > > SeatRef={
> > > > > AnyDrawRefFrame test ={ScaleXYZ={0.4,0.4,0.4};}; “HOW IS
> > > > > THIS FIGURE DECIDED?”
> > > >
> > > > This number determines the size of the a visible coordinate
> system
> > > which will be 0.4 m on each axis, so it could in principle be any
> > > value it is just for graphics!
> > > >
> > > >
> > > > > };
> > > > > AnyRefFrame &HeadRef
> > > > > = …RefS.Pelvis.TuberIschiadicumCenter; “WHAT IS THIS PART
> OF THE
> > > > > JOINT REFERING TO?”
> > > >
> > > > it is a node on the pelvis, if you want to see where it is you
> may
> > > draw a coordinate system in the node by writing like this
> > > >
> > > > Headref={ //opens the node folder
> > > >
> > > > AnyDrawRefFrame drw={AnyScaleXYZ={0.3,0.3,0.3};}; //draw a
> > > coordinate system
> > > >
> > > > }; //close the node folder again
> > > >
> > > >
> > > > > Ref = 0;
> > > > > };
> > > > >
> > > > > AnyKinRotational HeadRestRotMeasure = {
> > > > > AnyRefFrame &RestRef
> > > > > = …RefP.Seg.BackRest.BackRestHeadRestJntNode;
> > > > > AnyRefFrame &HeadRef = …RefS.Pelvis.TuberIschiadicumCenter;
> > > > > Type = RotVector;
> > > > > AngVelOnOff = On;
> > > > > Ref = 0;
> > > > > };
> > > > >
> > > > > AnyKinEqSimpleDriver HeadRestEq = {
> > > > > AnyKinLinear &LinearMeasure = .HeadRestLinMeasure;
> > > > > AnyKinRotational &RotMeasure = .HeadRestRotMeasure;
> > > > > MeasureOrganizer = {0,2,3,4};
> > > > > DriverPos = {0.01,0,0,0}; “SHOULD I BE GIVING THESE THREE
> LINES
> > > > > FIGURES?”
> > > >
> > > > This driver drivers two linear dof between the head and the
> headrest
> > > and two rotational dof betwen the head and the headrest. It is
> > > difficult to say if you will need to change this, it depends on
> your
> > model
> > > >
> > > >
> > > > > DriverVel = {0,0,0,0};
> > > > > Reaction.Type = {0,1,1,1};
> > > >
> > > > The Reacion.type={0,1,1,1} means that there are no force
> reactions
> > > in the first linear dof but force reactions in the rest of the
> dof’s
> > > >
> > > >
> > > > > };
> > > > >
> > > > > AnyKinMeasureOrg HeadRestMeasureOrg = {
> > > > > AnyKinLinear &LinearMeasure = .HeadRestLinMeasure;
> > > > > MeasureOrganizer = {0};
> > > > > };
> > > > > }; // HeadRestJnt
> > > > >
> > > > >
> > > > >
> > > > > ( BELOW I’VE PUT THE ORIGINAL PELVIS SEAT JOINT FILE )
> > > > >
> > > > >
> > > > >
> > > > > //----------------------------------------------
> > > > > // Joints - Pelvis - Seat
> > > > > //----------------------------------------------
> > > > >
> > > > > AnyFolder PelvisSeatJnt = {
> > > > >
> > > > > AnyKinLinear PelvisSeatLinMeasure = {
> > > > > AnyRefFrame &SeatRef = …RefP.Seg.Seat.SeatPelvisJntNode;
> > > > > SeatRef={
> > > > > AnyDrawRefFrame test ={ScaleXYZ={0.4,0.4,0.4};};
> > > > > };
> > > > > AnyRefFrame &PelvisRef
> = …RefS.Pelvis.TuberIschiadicumCenter;
> > > > > Ref = 0;
> > > > > };
> > > > >
> > > > > AnyKinRotational PelvisSeatRotMeasure = {
> > > > > AnyRefFrame &SeatRef = …RefP.Seg.Seat.SeatPelvisJntNode;
> > > > > AnyRefFrame &PelvisRef
> = …RefS.Pelvis.TuberIschiadicumCenter;
> > > > > Type = RotVector;
> > > > > AngVelOnOff = On;
> > > > > Ref = 0;
> > > > > };
> > > > >
> > > > > AnyKinEqSimpleDriver PelvisSeatEq = {
> > > > > AnyKinLinear &LinearMeasure = .PelvisSeatLinMeasure;
> > > > > AnyKinRotational &RotMeasure = .PelvisSeatRotMeasure;
> > > > > MeasureOrganizer = {0,2,3,4};
> > > > > DriverPos = {0.01,0,0,0};
> > > > > DriverVel = {0,0,0,0};
> > > > > Reaction.Type = {0,1,1,1};
> > > > > };
> > > > >
> > > > > AnyKinMeasureOrg PelvisSeatMeasureOrg = {
> > > > > AnyKinLinear &LinearMeasure = .PelvisSeatLinMeasure;
> > > > > MeasureOrganizer = {0};
> > > > > };
> > > > > }; // PelvisSeatJnt
> > > > >
> > > > >
> > > > >
> > > > > Sorry if this is a very long winded question-
> > > > >
> > > > > Best Regards and Merry Christmas to you also,
> > > > >
> > > > > Allen
> > > > >
> > > >
> > > >
> > > > Here are a few general advices: It is a good idea always to
> keep a
> > > working model, so make the changes to model is small steps always
> > > maintaining a running model. If you make drastic changes to the
> > > kinematics in one step you may find it difficult to resolve the
> > > problems. You should also always keep track on the number of
> drivers
> > > you add and remove from the model. It is very important that this
> > > number if left unchanged (provided that you have the same number
> of
> > > segments), otherwise your model will end up being kinematically
> under
> > > determinate or over determinated.
> > > >
> > > > Best regards
> > > >
> > > > Soeren AnyBody Support
> > > >
> > > >
> > > >
> > > > [Non-text portions of this message have been removed]
> > > >
> > >
> >
>