Define contact point for reaction force

Hi there,

How exactly do I define the pelvis as being in contact with an external support (which isn’t modelled), as the subject is seated on a bicycle seat with the legs not touching the ground, and the subject is moving their legs with the seat fixed to the ground.

I want AnyBody to predict the reaction forces at the pelvis but have no idea how to do this. I listened to this webcast: ‘Modeling Human-Exoskeleton Interaction With AnyBody’ and the presenter was talking about ‘AnyReact’ forces (couldn’t hear him clearly enough) and was saying that you could constrain muscles to be fixed in order to calculate reaction forces – but he didn’t explain how this is done in AnyBody.

Thanks for helping

Hi Jared,

Basically you can do this in different ways.

The simple way is to write something like this:


AnyReacForce  myreacForce={
AnyKinLinear lin ={
AnyRefNode &ref1=..GlobalRef;
AnySeg &ref1=....PelvisSeg;  
Ref=0;
};

AnyKinRotational rot ={
AnyRefNode &ref1=..GlobalRef;
AnySeg &ref1=....PelvisSeg;  
Type =RotAxesAngles;
};
};


this will create six reactions between pelvis and the global ref system

If you would like to control more specifically which directions should be supported and if friction is important you can look in the SeatedHumanModel. Please look at the SeatSupport.any file.

There is also a wiki page on the subject http://wiki.anyscript.org/index.php/All_about_FrictionContactMuscles

Best regards
Søren

Hi again Søren,

Where exactly do I paste the code you specified above in the FreePosture model? Also, where is PelvisSeg located in the model tree of the same model?

Kind regards,

Jared

Hi Jared,

the code you are free to place anywhere in the model as long as the folder you add it into is part of the study you are using.

A good place would be eg. Main.Model.ModelEnvironmentConnection folder you can find this in the main file.

The pelvis segment can be found in
Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg

One way to find such a location would be to double click the pelvis in the modelview this will take you to the modeltree where the drawing object for the pelvis has been created inside the pelvis segment.

Best regards
Søren

Hi Søren,

I’ve put the following edited code in the ModelEnvironmentConnection AnyFolder of the FreePosture model:

AnyReacForce  myreacForce={
AnyKinLinear lin ={
AnyRefNode &ref1= Main.Model.EnvironmentModel.GlobalRef;
AnySeg &ref1= Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg; 
Ref=0;
};

AnyKinRotational rot ={
AnyRefNode &ref2= Main.Model.EnvironmentModel.GlobalRef;
AnySeg &ref2= Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg;   
Type =RotAxesAngles;
};
};

I get an error that ref1 object is already declared:

ERROR(SCR.PRS1) : C:/U…s/j…1/A…a/R…g/A…y/D…s/A…o/A…n/M…s/M…e/FreePostureFullBodyStatic.Main.any(87) : ‘ref1’ : Object already declared at :
C:\Users\jlea931\AppData\Roaming\AnyBody Technology\Demos\AMMR.v1.6.2-MyDemo\Application\MyModels\MyFreePosture\FreePostureFullBodyStatic.Main.any(86) : ‘ref1’
Model loading skipped

However when I made all the four instances of ref different numbers such as ref1, ref2, ref3, ref4 I get an error:

ERROR(SCR.PRS17) : C:/U…s/j…1/A…a/R…g/A…y/D…s/A…o/A…n/M…s/M…e/FreePostureFullBodyStatic.Main.any(86) : ‘ref1’ : Reference of class AnyRefNode cannot refer to an object of class AnyFixedRefFrame
ERROR(SCR.PRS17) : C:/U…s/j…1/A…a/R…g/A…y/D…s/A…o/A…n/M…s/M…e/FreePostureFullBodyStatic.Main.any(92) : ‘ref3’ : Reference of class AnyRefNode cannot refer to an object of class AnyFixedRefFrame

How do I fix this? And then where do I go from here?

Kind regards,

Jared

Hi Jared,

Please write

AnyFixedRefFrame &ref =

instead of

AnyRefNode &ref=

When referring to the global ref system

Best regards
Søren