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]