Importing body into model, cont.

I have finally figured out how to get my model placed the way I want
it in the
environment! I was able to connect a reference node on the scapula
(corresponding
to a virtual marker) to the global reference frame as follows:

AnyKinEqSimpleDriver ShoulderGroundDriver = {
AnyKinLinear lin = {
AnyFixedRefFrame &ref1 =
Main.MyValidation.EnvironmentModel.GlobalRef;
AnyRefNode &ref2 =
Main.MyValidation.HumanModel.Right.ShoulderArm.Seg.Scapula.temp;
};
AnyKinRotational rot = {
AnyFixedRefFrame &ref1 =
Main.MyValidation.EnvironmentModel.GlobalRef;
AnyRefNode &ref2 =
Main.MyValidation.HumanModel.Right.ShoulderArm.Seg.Scapula.temp;
Type = RotAxesAngles;
};
DriverPos = {
.JntPos.ShoulderPosX,
.JntPos.ShoulderPosY,
.JntPos.ShoulderPosZ,
pi/180*.JntPos.ShoulderRotZ,
pi/180*.JntPos.ShoulderRotY,
pi/180*.JntPos.ShoulderRotX
};
DriverVel = {
.JntVel.ShoulderPosX,
.JntVel.ShoulderPosY,
.JntVel.ShoulderPosZ,
pi/180*.JntVel.ShoulderRotX,
pi/180*.JntVel.ShoulderRotY,
pi/180*.JntVel.ShoulderRotZ
};
Reaction.Type = {On,On,On,On,On,On};
};

My driver positions and velocities (respectively) are as follows:

 AnyVar ShoulderPosX = -0.2580307;
 AnyVar ShoulderPosY = 1.497251;
 AnyVar ShoulderPosZ = 0.2118869;
 AnyVar ShoulderRotX = 0;
 AnyVar ShoulderRotY = -90;
 AnyVar ShoulderRotZ = 0;

And

 AnyVar ShoulderPosX = 0;
 AnyVar ShoulderPosY = 0;
 AnyVar ShoulderPosZ = 0;
 AnyVar ShoulderRotX = 0;
 AnyVar ShoulderRotY = 0;
 AnyVar ShoulderRotZ = 0;

The only problem I have now is that although when I
SetInitialConditions, the
shoulder joint aligns with the global reference frame, the body does
not remain
perpendicular to the ground ? the body appears slouched to the right.
I can not run
the kinematic analysis because the kinematic tolerance exceeds the
allowable limit.
My shoulder is finally lined up in the environment, however the
virtual markers that
I am driving the model with don?t align with the markers that I have in my
?MarkerPosOnBody.any? file. Any suggestions as to how to keep my
body?s posture
upright and not twisted? By fixing that, I believe that my kinematics
drivers will
align with my virtual markers and the model will load and run.

Any suggestions would be much appreciated! I have uploaded my model
(overwriting
the previous version) into the Files section of the user-group web
page. The file
name is: Validation II ? driven by Vicon.

Thanks in advance,
Sarah

Hi Sarah

I guess you could use a AnyKinCom to calculate the center of mass and
then constrain it to something, which will make your body posture right?

Best regards
Christian, AnyBody Support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan” <sarsulli@…>
wrote:
>
> I have finally figured out how to get my model placed the way I want
> it in the
> environment! I was able to connect a reference node on the scapula
> (corresponding
> to a virtual marker) to the global reference frame as follows:
>
> AnyKinEqSimpleDriver ShoulderGroundDriver = {
> AnyKinLinear lin = {
> AnyFixedRefFrame &ref1 =
> Main.MyValidation.EnvironmentModel.GlobalRef;
> AnyRefNode &ref2 =
> Main.MyValidation.HumanModel.Right.ShoulderArm.Seg.Scapula.temp;
> };
> AnyKinRotational rot = {
> AnyFixedRefFrame &ref1 =
> Main.MyValidation.EnvironmentModel.GlobalRef;
> AnyRefNode &ref2 =
> Main.MyValidation.HumanModel.Right.ShoulderArm.Seg.Scapula.temp;
> Type = RotAxesAngles;
> };
> DriverPos = {
> .JntPos.ShoulderPosX,
> .JntPos.ShoulderPosY,
> .JntPos.ShoulderPosZ,
> pi/180*.JntPos.ShoulderRotZ,
> pi/180*.JntPos.ShoulderRotY,
> pi/180*.JntPos.ShoulderRotX
> };
> DriverVel = {
> .JntVel.ShoulderPosX,
> .JntVel.ShoulderPosY,
> .JntVel.ShoulderPosZ,
> pi/180*.JntVel.ShoulderRotX,
> pi/180*.JntVel.ShoulderRotY,
> pi/180*.JntVel.ShoulderRotZ
> };
> Reaction.Type = {On,On,On,On,On,On};
> };
>
> My driver positions and velocities (respectively) are as follows:
>
> AnyVar ShoulderPosX = -0.2580307;
> AnyVar ShoulderPosY = 1.497251;
> AnyVar ShoulderPosZ = 0.2118869;
> AnyVar ShoulderRotX = 0;
> AnyVar ShoulderRotY = -90;
> AnyVar ShoulderRotZ = 0;
>
> And
>
> AnyVar ShoulderPosX = 0;
> AnyVar ShoulderPosY = 0;
> AnyVar ShoulderPosZ = 0;
> AnyVar ShoulderRotX = 0;
> AnyVar ShoulderRotY = 0;
> AnyVar ShoulderRotZ = 0;
>
> The only problem I have now is that although when I
> SetInitialConditions, the
> shoulder joint aligns with the global reference frame, the body does
> not remain
> perpendicular to the ground ? the body appears slouched to the right.
> I can not run
> the kinematic analysis because the kinematic tolerance exceeds the
> allowable limit.
> My shoulder is finally lined up in the environment, however the
> virtual markers that
> I am driving the model with don?t align with the markers that I have
in my
> ?MarkerPosOnBody.any? file. Any suggestions as to how to keep my
> body?s posture
> upright and not twisted? By fixing that, I believe that my kinematics
> drivers will
> align with my virtual markers and the model will load and run.
>
> Any suggestions would be much appreciated! I have uploaded my model
> (overwriting
> the previous version) into the Files section of the user-group web
> page. The file
> name is: Validation II ? driven by Vicon.
>
> Thanks in advance,
> Sarah
>