Hi all,
I want to model the orthosis ankle stiffness using Bushing Forces. I have done an experiment to find the rotational stiffness of the orthosis ankle joint.
I assume that the expression is linear:
Ankle_Torque = Ankle_Torque_0 + k*Ankle_angle
So I have modeled it on the orthosis ankle joint, from one point in the orthosis foot to the same point in the orthosis shank, leaving all the stiffness zero but the rotational stiffness in the ankle angle axis with the stiffness value measured (see the image attached).
Here are some questions that I have:
1. It is correct to model it in the same point for the two bodies?
2. If I want to have an initial torque, when the angle is zero, how can I model it?
3. The results of the experiment show that the relation between torque and angle is not "very" linear. What other approaches are possible in OpenSim for modeling a non-linear spring?
Thanks in advance,
Míriam Febrer
Ankle rotational spring as bushing force
- Míriam Febrer-Nafría
- Posts: 26
- Joined: Thu Apr 18, 2013 4:14 am
Ankle rotational spring as bushing force
- Attachments
-
- ankle_spring_bushing.PNG (411.42 KiB) Viewed 1284 times
- Thomas Uchida
- Posts: 1792
- Joined: Wed May 16, 2012 11:40 am
Re: Ankle rotational spring as bushing force
Yes. I suggest checking out the "Simulation-Based Design to Prevent Ankle Injuries" example in the Confluence documentation (https://simtk-confluence.stanford.edu/d ... e+Injuries), which describes the bushing component and demonstrates its use to model an AFO.1. It is correct to model it in the same point for the two bodies?
The bushing applies torque based on the relative orientation of its two frames. Zero torque will be generated when the relative orientation of its frames is zero, but there are at least two approaches to accomplish what you want. First, you could attach one of the bushing frames to the body segment with a different orientation, which will change the ankle angle at which zero bushing torque is generated. The second approach would be to use an expression-based bushing force instead (see https://simtk.org/api_docs/opensim/api_ ... Force.html).2. If I want to have an initial torque, when the angle is zero, how can I model it?
The ExpressionBasedBushingForce might be a good place to start.3. The results of the experiment show that the relation between torque and angle is not "very" linear. What other approaches are possible in OpenSim for modeling a non-linear spring?
- Míriam Febrer-Nafría
- Posts: 26
- Joined: Thu Apr 18, 2013 4:14 am
Re: Ankle rotational spring as bushing force
Hi, Tom, thanks for your comments.
I've tried the first approach and it works OK. I have the Bushing force defined between the calcn_r (and _l) and the tibia_r (and _l). I have computed the orientation that I have to enter for having an initial torque with ankle angle zero. For testing this, I have prepared a simple motion file, with the ankle angle going from -10 deg to +20 deg. The resulting torques computed from the expression directly and from a Force Reporter analysis, are the same.
However, I don't understand why I get different results (in Figure "Comparison torques", the green line) when the BushingForce is defined between the orthosis bodies (orthosis_foot_r and orthosis_shank_r). Orthosis_foot_r is attached to talus_r (calcn_r is attached as well to talus_r), and orthosis_shank_r is attached to tibia_r (see the model topology image).
Can you figure what can be the problem?
Thanks,
Míriam
I've tried the first approach and it works OK. I have the Bushing force defined between the calcn_r (and _l) and the tibia_r (and _l). I have computed the orientation that I have to enter for having an initial torque with ankle angle zero. For testing this, I have prepared a simple motion file, with the ankle angle going from -10 deg to +20 deg. The resulting torques computed from the expression directly and from a Force Reporter analysis, are the same.
However, I don't understand why I get different results (in Figure "Comparison torques", the green line) when the BushingForce is defined between the orthosis bodies (orthosis_foot_r and orthosis_shank_r). Orthosis_foot_r is attached to talus_r (calcn_r is attached as well to talus_r), and orthosis_shank_r is attached to tibia_r (see the model topology image).
Can you figure what can be the problem?
Thanks,
Míriam
- Attachments
-
- model topology view.PNG (25.27 KiB) Viewed 1272 times
-
- Comparison torques.PNG (23.53 KiB) Viewed 1272 times
-
- expression vs results in OpenSim.PNG (39.37 KiB) Viewed 1272 times
- Míriam Febrer-Nafría
- Posts: 26
- Joined: Thu Apr 18, 2013 4:14 am
Re: Ankle rotational spring as bushing force
Hi Tom,
I've solved this issue: The orthosis shank joint has the following orientation in parent: 0 3.1415 0, so I've put the same orientation for the Bushing and now it works OK.
Thanks again for your suggestions,
Míriam
I've solved this issue: The orthosis shank joint has the following orientation in parent: 0 3.1415 0, so I've put the same orientation for the Bushing and now it works OK.
Thanks again for your suggestions,
Míriam
- Thomas Uchida
- Posts: 1792
- Joined: Wed May 16, 2012 11:40 am
Re: Ankle rotational spring as bushing force
Great that you got it working. Thanks for following up. Feel free to post any additional questions as you explore the other model components we discussed today.
- Míriam Febrer-Nafría
- Posts: 26
- Joined: Thu Apr 18, 2013 4:14 am
Re: Ankle rotational spring as bushing force
Hi, Tom,
I've tried also to model the non-linear spring as an ExpressionBasedBushingForce and it also works OK.
Thanks,
Míriam
I've tried also to model the non-linear spring as an ExpressionBasedBushingForce and it also works OK.
Thanks,
Míriam