opensim-creator icon indicating copy to clipboard operation
opensim-creator copied to clipboard

Fix `Ostrich_PeerJ2015.osim` cannot equilibriate muscles with latest OpenSim?

Open adamkewley opened this issue 1 year ago • 7 comments

Repro

Loading an Ostrich model:

  • https://simtk.org/projects/ostrichopensim

Now appears to throw a muscle equilibriation error:

image]

OSC Error Investigation

OSC Version OpenSim Version State
0.5.x 4.4.1 BROKEN
0.4.1 4.4 BROKEN
0.3.2 4.4 BROKEN
0.2.0 4.3 BROKEN
0.1.6 4.3 BROKEN
0.1.0 4.2 BROKEN
0.0.2 4.1 WORKING

Comparison with OpenSim GUI

  • Loads fine in OpenSim GUI
  • But OpenSim GUI will subsequently blow up with the same error if the model is simulated
  • The difference in behavior is because OSC always realizes a model's initial state to Report (so that outputs are always available for watching/plotting), whereas OpenSim GUI keeps the model in an earlier state until the user presses the simulate button
  • The crash also happens with OpenSim 4.1. So it's likely that the reason that OSC 0.2.0 (OSMV) does not crash is because earlier versions of OSC behaved the same as OpenSim GUI (i.e. only using a basic, non-realized State, because early OSC did not support output monitoring).

Conclusions

Likely to close this one because it seems that the model is broken in OpenSim 4.0+ independently of OSC. The model file itself will need to be updated/fixed for OpenSim4, rather than OSC/opensim-core requiring code modifications (unless we can prove it's a non-issue and can be fixed automatically in-code).

adamkewley avatar Sep 07 '23 08:09 adamkewley

Also broken in 0.4.1

adamkewley avatar Sep 07 '23 10:09 adamkewley

Also broken in 0.3.2

adamkewley avatar Sep 07 '23 10:09 adamkewley

Also broken in 0.2.0

adamkewley avatar Sep 07 '23 10:09 adamkewley

Also broken in 0.1.6

adamkewley avatar Sep 07 '23 10:09 adamkewley

Also broken in 0.1.0

adamkewley avatar Sep 07 '23 10:09 adamkewley

Not broken in osmv (0.0.2)

adamkewley avatar Sep 07 '23 10:09 adamkewley

Dropping this issue from OSC's 0.5.2 release: it's been broken for a couple of years.

The solution to this is to upstream that opensim-core's test suite loads+realizes a collection of published models, so that developers can spot potential model breakages as changes happen.

adamkewley avatar Sep 07 '23 10:09 adamkewley