Sharp Corners in Static Optimization Muscle Force and JRF at the Ankle
Posted: Thu Apr 25, 2024 7:56 am
Hello,
I am using OpenSim to estimate gastroc and soleus muscle forces and ankle joint reaction force via the V3D->OpenSim pipeline. After running SO, my muscle forces (usually the soleus near TO) come out with sharp corners which also appears in the ankle JRF and joint moment, despite the model having force residuals less than 5% of body weight and moment residuals less than 1% BW*COM height.
Here is what I've done to try to fix this issue:
- Check GRF values in V3D prior to exporting to OpenSim and in the input_grf.mot file that is used as an OpenSim input
- Check ankle kinematics and marker data for the time frame of interest
- Check marker data for all joints proximal to the ankle
- Filtering the data at various stages of the processing pipeline (RRA, SO, RRA and SO)
EDIT: I am using the gait2392_simbody generic file to scale of the models. The talus and mtp joints are locked.
Here are the graphs I am getting:
Ankle Angle vs. Time after RRA:
[attachment=3]AnkleAngle.png[/attachment]
Muscle Forces vs. Time after SO:
[attachment=2]MuscleForces.png[/attachment]
Ankle JRF (Fy) vs. Time after running "Analyze":
[attachment=1]AnkleJRF.png[/attachment]
Ankle moment (My) vs. Time after running "Analyze":
[attachment=0]AnkleMom.png[/attachment]
Any further suggestions about whether this is an issue with the SO setup parameters or troubleshooting tips would be greatly appreciated!
I am using OpenSim to estimate gastroc and soleus muscle forces and ankle joint reaction force via the V3D->OpenSim pipeline. After running SO, my muscle forces (usually the soleus near TO) come out with sharp corners which also appears in the ankle JRF and joint moment, despite the model having force residuals less than 5% of body weight and moment residuals less than 1% BW*COM height.
Here is what I've done to try to fix this issue:
- Check GRF values in V3D prior to exporting to OpenSim and in the input_grf.mot file that is used as an OpenSim input
- Check ankle kinematics and marker data for the time frame of interest
- Check marker data for all joints proximal to the ankle
- Filtering the data at various stages of the processing pipeline (RRA, SO, RRA and SO)
EDIT: I am using the gait2392_simbody generic file to scale of the models. The talus and mtp joints are locked.
Here are the graphs I am getting:
Ankle Angle vs. Time after RRA:
[attachment=3]AnkleAngle.png[/attachment]
Muscle Forces vs. Time after SO:
[attachment=2]MuscleForces.png[/attachment]
Ankle JRF (Fy) vs. Time after running "Analyze":
[attachment=1]AnkleJRF.png[/attachment]
Ankle moment (My) vs. Time after running "Analyze":
[attachment=0]AnkleMom.png[/attachment]
Any further suggestions about whether this is an issue with the SO setup parameters or troubleshooting tips would be greatly appreciated!