Hi,
So I've created a very simple model to better understand how the ligaments will run before I implement them into my more complicated shoulder model. My current model has a sphere of radius .5 with a mass of 2 dropping with the resting length of the ligament being .5 and the psca_force being 40 (therefore, making the max force be twice the weight of the object). My ligament is defied by the function y=x*20-40 from 1 to 1.5. However, during forward dynamics the object drops below the maximum length of .75 (1.5*.5), and begins to apply a much larger force. Is OpenSim interpolating this data? If so, what algorithm is it using?
Interpolating ligament curve during forward dynamics
- Clarissa LeVasseur
- Posts: 8
- Joined: Mon May 18, 2015 1:28 pm
- Dimitar Stanev
- Posts: 1096
- Joined: Fri Jan 31, 2014 5:14 am
Re: Interpolating ligament curve during forward dynamics
Hi,
It is difficult to figure out what is the problem if you don't provide the math for the ligament. Try to constrain the maximum integration step. It is possible that the integrator is taking large steps.
It is difficult to figure out what is the problem if you don't provide the math for the ligament. Try to constrain the maximum integration step. It is possible that the integrator is taking large steps.
- Clarissa LeVasseur
- Posts: 8
- Joined: Mon May 18, 2015 1:28 pm
Re: Interpolating ligament curve during forward dynamics
The ligament is defined as:
<PiecewiseLinearFunction name="force_length_curve">
<x> 0 0.1 0.699778 0.896321 0.96112 0.984873 1 1 1.0625 1.125 1.1875 1.25 1.3125 1.375 1.4375 1.5</x>
<y> 0 0 0 0.00150721 0 0 0 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1</y>
</PiecewiseLinearFunction>
<PiecewiseLinearFunction name="force_length_curve">
<x> 0 0.1 0.699778 0.896321 0.96112 0.984873 1 1 1.0625 1.125 1.1875 1.25 1.3125 1.375 1.4375 1.5</x>
<y> 0 0 0 0.00150721 0 0 0 0 0.125 0.25 0.375 0.5 0.625 0.75 0.875 1</y>
</PiecewiseLinearFunction>