Page 1 of 1
the ligament force
Posted: Wed Jan 18, 2012 11:48 am
by hanghang500
Hi, All
I am trying to build an OpenSim model with knee ligaments to simulate gait and everything goes well in "Scale-IK-ID-RRA" steps. When I ran CMC step, I tried to defined how the ligament works as a force instead of actuator, so I used the function "applyforce" based on the CustomForce Class Reference
and added the code for ACL/PCL/MCL/LCL like below in the "CMC_Actuators.xml"
<ligament name="ACL_r">
<isDisabled> false </isDisabled>
<body> tibia_r </body>
<force_is_global> false </force_is_global>
</ligament>
The CMC can run for gait cycle, but the muscle force results were all much larger compared with the results when I disable the ligaments and near all the muscles in the lower body have a high excitation (very closed to 1) when included ligaments.
So it seemed that OpenSim treats ligament force as the external force and muscles have to generate more forces to balance ligament forces, but I supposed that ligament forces were internal force which can reduce the muscle forces in lower body.
The other thing is the message always show "objectligament is not recognized" when I ran CMC step.
Does anyone have successfully ran CMC step in model with ligaments or any thoughts about CMC setting files when ran model with ligaments?
I will appreciate any help and suggestion.
Re: the ligament force
Posted: Wed Jan 18, 2012 12:30 pm
by aymanh
Hi Hang,
Please use "Ligament" instead of "ligament" and retry.
Good luck,
-Ayman
Re: the ligament force
Posted: Wed Jan 18, 2012 12:40 pm
by hanghang500
Thank you, Ayman
I will try that and let you know the results
Hang
Re: the ligament force
Posted: Wed Jan 25, 2012 9:15 pm
by hanghang500
Hi, Ayman
I change the "Ligament" instead of "ligament" which works and the "objectligament is not recognized " in OpenSim message disappeared.
But I still confused about how to implement ligament force in my model.
I would like to use my model to simulate gait and I defined the ACL/PCL/MCL/LCL in the model (OSIM file). When I want to run CMC, until now I just added the code for ACL/PCL/MCL/LCL like below in the "CMC_Actuators.xml
<ligament name="ACL_r">
<isDisabled> false </isDisabled>
<body> tibia_r </body>
<force_is_global> false </force_is_global>
</ligament>
But the muscle force results are much larger than I expected, is that I used the wrong function for ligament? how can I set the CMC setting file to let OpenSim implement the ligament force?
Thanks for any help.
Hang Xu
Re: the ligament force
Posted: Tue Feb 07, 2012 1:01 pm
by aseth
You must specify the other properties of the ligament including the path of the ligament (which is identical to how a muscle uses a GeometryPath). See Available Objects list for properties.
You should add your ligaments to the model and not to the CMC actuators, which are intended to list reserve and residual actuators.
As for whether or not the ligaments help or hinder muscles, it will depend on how you model the joints and what your ligaments do at the joints. If the knee is a 1-dof joint, ligaments will not have any effect, unless they are causing the knee to flex or extend. This might be true at the ends of the range of motion, but should not be the case otherwise. You should attempt some tests that your ligaments have the correct function before jumping into CMC.
Re: the ligament force
Posted: Thu Feb 09, 2012 10:27 pm
by hanghang500
Hi, Ajay
First, thanks for your reply which helps me a lot.
As you mentioned, I did define the properties of ligament in the model (such as Resting length, beginning point and end point, force_length curve and PCSA force).
The reason why I added some codes for ligaments in the CMC actuators file just because the message in the CMC step always indicated "failed to find solution" if I did not add some codes for ligaments and the CMC successfully ran if I added the ligaments codes.
I agree that the knee ligaments should be no function if they cannot contribute the flexion and extension in the 1 DOF knee joint.
I still have two questions that confuse me long time.
First, what is the ligaments function when we ran CMC step? (Ligament force can treat as force work at center of mass and no torque or ligament force can treat as force work on point and generate torque for body segment)
Second, whether the algorithm in CMC can give us the reasonable results if we include the ligaments force in CMC step (Assume I set the properties of ligament perfectly) since the ligaments force are constant value based on the ligament length which is different mechanism compare to muscle
I appreciate any suggestion and explain for the questions.
Re: the ligament force
Posted: Mon Apr 02, 2012 12:27 pm
by zhangjin
hanghang500 wrote:
Second, whether the algorithm in CMC can give us the reasonable results if we include the ligaments force in CMC step (Assume I set the properties of ligament perfectly) since the ligaments force are constant value based on the ligament length which is different mechanism compare to muscle
hi,hang
I was thinking why don't you set ligaments force as a function of ligament length. In the most papers I've read, ligaments are represented as springs, and the strain is directly related with the length,some formulation are provided as well.
Maybe it's a stupid idea,forgive me for my thoughtless
I hope you can solve your problem and as you know ,I am struggling in the same field.
Re: the ligament force
Posted: Thu Dec 06, 2012 10:13 am
by spinomek
Implemented ligaments and they seem to affect joint reaction forces as expected. However, I would like to report the forces (tension) in the ligaments, according to the user documentation this should possible with the force reporter analysis:
Force Reporter: Reports all forces acting in the model. For ligaments and muscles, the tension along the path is reported;
In my case it only reports muscle forces (way too high, though) and constraints (if checked in the analyze settings). I applied the Force Reporter analysis right after the computation of Joint Reactions, also tried inclusion of the controls-file.
Any suggestions how to proceed in order to get forces for each ligament listed in the Force Reporter output?
Thanks in advance!