Resolving Center of Pressure for Static Optimization (OS 4.5)

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Walter Menke
Posts: 4
Joined: Wed Nov 03, 2021 4:47 am

Resolving Center of Pressure for Static Optimization (OS 4.5)

Post by Walter Menke » Sat Nov 16, 2024 3:22 pm

Hi everyone,

I have an issue that is caused by OpenSim, but an issue with data being fed into OpenSim. I'm using the Lerner model in OpenSim 4.5 to resolve knee contact forces during stationary cycling. Specifically, I'm interesting in simulations of an entire crank cycle (from 0 degrees to 360 degrees). We record reaction forces with instrumented pedals which means we can calculate center of pressure (COP) for each pedal. Our coordinate system is X (mediolateral axis), Y (anteroposterior axis), and Z (superoinferor axis). The way we calculate the X component of the pedal's COP is (-1*(PedalMomentY/ReactionForceZ)). This tends to work quite well until the vertical force is very, very small- where we get a large spike in the COP because the moment and force are quite close together. This usually occurs just before the completion of a pedal cycle (roughly 340 degrees). Please see the graphs of this issue between the left and right sides.
OS_COP_Issues.png
OS_COP_Issues.png (85.85 KiB) Viewed 200 times
The Right COPx has a giant spike (Y-axis is in meters there), which causes the Static Optimization to fail around those time points due to the sudden, huge change of COP at applied at the foot in OpenSim. It results in activation levels for muscles that are almost 1, and great spikes in joint reaction results. It doesn't always happen, which is why I've included the graphs for the left side COP where, for this particular trial, it doesn't occur (vertical force minimum is larger).

My current ideas for solutions include the following: 1.) Bound the X and Y COP to the exact measurements of the pedal surface itself 2.) Place a limit on the minimum of the vertical force (Say, 20-30N) to prevent tiny minimums from happening 3.) Remove and interpolate areas under the minimum value for vertical force. I am not a fan of some of these, as we are of course changing what was recorded, but I would appreciate any advice or thoughts you all may have on this! Please let me know if you need more information as I tried to keep this from being overly wordy. Thanks for your time.

POST REPLY