Derrik
(Derrik)
August 16, 2021, 1:36am
1
Hi,
I am currently working with the SeatedHumanFullWithNeck model and running some experiments with the gravity vector.
I am wondering if with each step over a period of time, i could apply a specific gravity vector. If possible, how would i go about this?
I have seen in a previous question (7yrs ago) this was not possible with a different model. But i am asking in-case this is now possible.
Any help would be much appreciated.
Thank-you
Bjorn
(Bjørn Keller Engelund)
August 16, 2021, 6:07am
2
Hi @Derrik
Unfortunately it is not possible to make a time-varying gravity vector.
The variable is still a constant and you can only change it by reloading the model.
Best regards,
Bjørn
AnyBody Technology
Derrik
(Derrik)
August 17, 2021, 1:14am
3
Hi Bjorn,
Thank-you for your reply. Good to know
laozilaozi
(ToshihikoKikuchi)
August 17, 2021, 7:10am
4
Hi @Derrik ,
You may use "AnyForce" class to aply the gravity-like bodyforce to the Human with the reference to the AnyKinCoM measure class.
With attached anyscript sample( AnyKinCoM COM x AnyForce GRAVITYFORCE ) you can see the same result as normal gravity condition.
Thank you,
Laozi
//////////////////////// SAMPLE START //////////////////////////////////////////////
#include "C:\Program Files\AnyBody Technology\AnyBody.7.3/AMMR/Application/libdef.any"
Main ={
#include "<ANYBODY_PATH_BODY>/HumanModel.any"
////////////////////////////////////// MODEL
AnyFolder Model ={
AnyFolder &Human = .HumanModel.BodyModel;
AnyFolder &MotionDrivers = .HumanModel.DefaultMannequinDrivers;
AnyFixedRefFrame GlobalRef ={AnyDrawRefFrame dr={};};
AnyReacForce HumanGroundReaction ={
AnyKinLinear Lin={
AnyRefFrame &Ref1 = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
};
AnyKinRotational Rot={
AnyRefFrame &Ref1 = Main.HumanModel.BodyModel.Trunk.SegmentsLumbar.PelvisSeg;
Type=RotAxesAngles;
};
};
};
////////////////////////////////////// STUDY
AnyBodyStudy Study ={
Main.HumanModel.Mannequin.Posture.Right.GlenohumeralFlexion=60;
Main.HumanModel.Mannequin.Posture.PelvisThoraxExtension=-33;
///////// AnyKinCoM COM x AnyForce GRAVITYFORCE
AnyKinCoM COM={
AnyFolder &Refmodel= Main.HumanModel.BodyModel;
};
AnyForce GRAVITYFORCE={
AnyKinMeasure &measureRef=.COM;
AnyVar grav =9.81;
AnyVar MASS =.COM.MassTotal;
F={0,-grav,0}*MASS;
};
/////////
AnyFolder &ModelRef= .Model; // '&' creates a local reference to existing folder
Gravity = -9.81*{0, 0 ,0}; // Gravity Vector
nStep=20;
};
//////////////////////////////////////
};
//////////////////////// SAMPLE END //////////////////////////////////////////////
system
(system)
Closed
December 20, 2021, 7:11am
5
This topic was automatically closed 125 days after the last reply. New replies are no longer allowed.