Using GaitUniMiamiTDRight leg to simulate amputee gait

Hello,

I am currently trying to model the gait of a trans tibial amputee using the GaitUniMiamiTDRightLeg as a basis. I have removed the muscles from the tibia and the motion is done by the thigh muscles and the knee, according to the data from output-euler.txt
What I want next is to create an elastic connection between a segment representing the prosthetic device and a part of the tibia, at a location that can later be modified to investigate other amputees.
So far, I have split the tibia in two parts and they are connected by a rigidized joint, the location of which is determined based on the length of the tibia desired in the model.
Any ideas about adding the elastic element would be greatly appreciated.

Thank you.

Mihai

Hi Mihai,

The new version 5 has a new feature called force dependent kinematics. This feature allows you to select certain dof in the model where the motion is controlled by the forces. If you have elastic connection between the leg and the prosthetic then motion in this joint could be determined by the force dependent kinematics.

If you are running the model without this feature you will need to drive the motion on this connection.

The elastic connection can be made in many ways the simplest solution would be to create linear and rotational springs in for all six dof between the two segments.

Here is an example of a linear spring

AnyKinLinear Lin ={
Ref=0;
AnySeg &ref1=…Shank;
AnySeg &ref1=…Prosthetic;
};

AnyForce ForceLin={

F=lin.Pos*Stiffness;

};

Best regards
Søren

Hi Søren,

These are the changes that I made to the model:
I have added these lines in the .main
// define_forces

AnyKinLinear Lin ={
// Ref=0;
AnySeg &ref1=Main.HumanModel.BodyModel.Right.Leg.Seg.Shank1;
AnySeg &ref2=Main.HumanModel.BodyModel.Right.Leg.Seg.Shank2;
};

AnyKinRotational Rot ={
Type = RotAxesAngles;
AnySeg &ref1=Main.HumanModel.BodyModel.Right.Leg.Seg.Shank1;
AnySeg &ref2=Main.HumanModel.BodyModel.Right.Leg.Seg.Shank2;
};

AnyVar Stiffness1 = 10000;

AnyForce ForceLin =
{
// AnySphericalJoint &ref1=Main.HumanModel.BodyModel.Right.Leg.Jnt.Node1;
F =.Lin.Pos*.Stiffness1;
AnyKinMeasure &Linear = .Lin;
};

AnyForce ForceRot =
{
// AnySphericalJoint &ref1=Main.HumanModel.BodyModel.Right.Leg.Jnt.Node1;
F =.Rot.Pos*.Stiffness1;
AnyKinMeasure &Rotation = .Rot;
};

And for the joint, I have made these changes in JointsAndDriversOptimised.any :

AnyKinMeasureOrg ProsteticNodeFixing = {
AnyKinRotational ProsteticRot={
Type=RotAxesAngles;
AnyRefNode &Shank1Node = …HumanModel.Right.Leg.Seg.Shank1.Node1Joint;
AnyRefNode &Shank2Node = …HumanModel.Right.Leg.Seg.Shank2.Node1Joint;

};
};

AnyKinEqSimpleDriver ProsteticNodeFixing_1 = {
AnyKinMeasureOrg &meas = .ProsteticNodeFixing;
DriverPos = {0pi/180,0pi/180,0pi/180};
DriverVel = {0
pi/180,0pi/180,0pi/180};
Reaction.Type = {On,On,On};
};

This is to fix the node that connects the two parts, the remaining tibia (Shank2) and the prostetic device (Shank1)

I get almost 0 values for the forces ForceRot [SIZE=2]and Forcelin[/SIZE]. What further changes would be needed in the model?

The version of AnyBody that I am using is 4. 1. 1. 1273

Best regards,

Mihai

Hi Mihai,

You get zero forces and moments because the joint deosn’t move. Your ForceLin and ForceRot are function of the position, so because you fixed the joint the linear and rotational measure (Lin and Rot) are zero and so are the forces.

You need some motion here if you want the stiffness to have an effect. At the moment it is the reaction of the joint driver (you set it to “On”) that takes all the load.

Best regards, Sylvain.

Hi Sylvain,

Thank you for the explanation, I suspected what you explained. During the walking trial we only used one lateral marker for the whole shank, so the relative motion between the segments is impossible to determine at this time.
I have considered using tendons to take the load between the two segments, but with one tendon, the model cannot find a muscle recruitment solution. Probably using several tendons around the joint would do what I want. However, I am unsure of this approach, so I ask again for a oppinion about this tendon method, or maybe another suggestion for making this work.

Best regards, Mihai.

Hi Mihai,

I will assume that by tendon you actually mean ligament. Because the tendons are attached to the muscles, and I understand you removed all muscles in that area of the shank.

The ligaments will give the same problem as the joint stiffness: if there is no motion between the two part you wont get forces, because force in the ligament only comes with elongation.
So as long as there is no motion you can as well consider the joint as completly rigid and keep the reaction force. Maybe this is what you want, with the reaction force you will still be able to read the forces and moments acting at this point.

Now if you really want motion in this joint and forces that are the result of the elastic deformation, you have to either record that motion or use the force dependent kinematic that Søren talked about earlier in the post. This last one will calculate the motion in the joint according to external loads and joint stiffness.

So the choice is yours depending on what you want to investigate exactly. Feel free to give more details about it so we can give you better advices.

Best regards, Sylvain.

Hi, Sylvain

Yes, by tendon I meant ligament, sorry for that. I think I have a more clear idea about the possibilities, and recording new data might be way to go.

Thank you all for the help!

Best regards, Mihai.