Detailed hand model: put a reference node on finger segment

#1

Hi,

I am trying use the detailed hand model for a problem. I have not problem with the kinematics: I can drive each of the finger joints. However, I cannot put a reference node on a finger segment.

For example, I can easily put a reference note on a thigh segment by:

AnySeg& Ref_Right_Thigh= Main.HumanModel.BodyModel.Right.Leg.Seg.Thigh;
Ref_Right_Thigh={
AnyRefNode KneeMarker = {
sRel = .Scale( {0.09, -0.4, 0.03});
AnyDrawNode drw={
ScaleXYZ={0.01,0.01,0.01};
RGB={1,0,0};
};
};
};

However, I cannot use the same method to put a reference node on a finger segment. I got an error message by using:

AnySeg& Ref_Right_Hand_Finger1_DIS= Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Hand.Finger1.Seg.DistalPhalanx;
Right_Thumb_DIS={
AnyRefNode Thumb_DIS = {
sRel = .Scale({0.09, -0.4, 0.03});
AnyDrawNode drw={
ScaleXYZ={0.01,0.01,0.01};
RGB={1,0,0};
};
};
};

The finger segments seem not recognized by the system. Is there a bug in the model?

My system: AnyBody V7.1, AMMR.v2.1

Thanks,

John Wu

#2

Hi John,

I think there is a bug in the model code.

You are making a reference to the finger segment called “Ref_Right_Hand_Finger1_DIS”

Then you try to open a different object called “Right_Thumb_DIS”

This will not work it would complain about “Right_Thumb_DIS” so you should write instead if you want to add the node to the distalphalanx

    AnySeg& Ref_Right_Hand_Finger1_DIS= Main.HumanModel.BodyModel.Right.ShoulderArm.Seg.Hand.Finger1.Seg.DistalPhalanx;
Ref_Right_Hand_Finger1_DIS=={
AnyRefNode Thumb_DIS = {
sRel = .Scale({0.09, -0.4, 0.03});
AnyDrawNode drw={
ScaleXYZ={0.01,0.01,0.01};
RGB={1,0,0};
};
};
};

Best regards
Søren

#3

Soren,

Thanks for your help. I found an alternative way to resolve my problem. My purpose is to apply a force on the finger segment. Now I simply apply the force to an existing reference marker in the finger segment, what is close enough for my purpose, to avoid making a new reference node.

John