Dear Community,
I'm currently debugging an OpenSim Pipeline with a newly created OpenSim Model (Gait2354 & Thoracolumbar Rib Cage Model combined) which uses Inverse Kinematics to trace MotionCapture data, then calculates Muscle Activations by Static Optimization including Ground Reaction Forces and lastly calcuates the Joint Reaction Forces.
So far this pipeline works relatively well and by only looking at the results of the lower back (and upper body in general) even looks trustworthy on first glance (see the first image below). But moving the focus towards the lower extremities it becomes obvious that something isn't working properly, as there are very little compressive forces acting on the joints (or partly even tensile forces), see the second image below. It seems that the ground reaction forces are applied properly to the calcanaeus (calcn) in this case, although only a fraction of the ground reaction force is acting on the subtalar to calcanaeus joint. But moving upward the compressive forces acting on the lower extremities joints decreases to becomes even negative (tensile) during the movement for almost all joints.
My possible explanation for this effect is that everything below the pelvis is somehow considered to be hanging below the ground of the model. This also fits to how the default pose of our model looks after scaling (and actually also before scaling), see third image below. But after inverse kinematics the complete model is within the positive y-range (so presumably above ground), as can be seen in the last image below. Also the ground reaction forces look unsuspicous when looking at the motion loaded.
As a next step I compared the .osim files of our model with the Gait2354 model and the Thoracolumbar Rib Cage Model (by Bruno et al.). Both models are structured differently when comparing the filestructure after download. But after saving them in OpenSim 4.1 the xml structure becomes identical to our model. The lower extremity joints and bodies are defined exactly the same way as inside of the Gait2354 model, the only difference (although same in the Thoracolumbar Rib Cage Model (which does not have any lower extremities)) I found was that the Gait2354 model has both the pelvis_offset and ground_offset in the ground_pelvis joint set to 0 0 0. In the Thoraclumbar Rib Cage Model and our model the pelvis offset has small values assigned, e.g. -0.0741197 -0.0731932 0.
After this finding I've tried changing the pelvis offset to 0 0 0. But this only moves my model by this values, so that the pelvis coordinate system overlaps with the global coordinate system. As a next step I changed the offset in y direction until I found the feet to be slightly above the global x/z plane. But when scaling a model my feet were either above or below ground by some mm/cm, hence I think this is not the correct approach.
Our model was previously built by a master's student at our department, so I myself have no experience with building models (yet) and am slowly running out of ideas how to solve this problem. Therefore I'm thankful for any kind of advice, tipps for good documentation in builiding models or even a complete solution to this problem.
Best regards,
Lukas
Lower Extremities hanging below ground
- Lukas Connolly
- Posts: 4
- Joined: Mon Dec 16, 2019 4:06 pm
- Ayman Habib
- Posts: 2248
- Joined: Fri Apr 01, 2005 12:24 pm
Re: Lower Extremities hanging below ground
Hi Lukas,
While it's hard to get to the bottom of this based on your message, here're a couple helpful pointers:
1. Pose of the model on loading is not relevant, in every case we run a tool, either we compute pose (IK) or pass in a trajectory, so the default pose is almost always irrelevant. You can change it and save the model and should have no effect whatsoever on analyses.
2. The model is a bit too complex to dig into (maybe hundreds of muscles, coupling etc.), I'd recommend you start with the simpler model then add complexity as needed for your research question. Typically you need details in only specific areas.
3. I'd recommend you try to follow the webinar on performing JR below, then adapt to your model/data
https://simtk-confluence.stanford.edu:8 ... tion+Loads
Hope this helps,
-Ayman
While it's hard to get to the bottom of this based on your message, here're a couple helpful pointers:
1. Pose of the model on loading is not relevant, in every case we run a tool, either we compute pose (IK) or pass in a trajectory, so the default pose is almost always irrelevant. You can change it and save the model and should have no effect whatsoever on analyses.
2. The model is a bit too complex to dig into (maybe hundreds of muscles, coupling etc.), I'd recommend you start with the simpler model then add complexity as needed for your research question. Typically you need details in only specific areas.
3. I'd recommend you try to follow the webinar on performing JR below, then adapt to your model/data
https://simtk-confluence.stanford.edu:8 ... tion+Loads
Hope this helps,
-Ayman