Page 1 of 1

EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Fri Jan 12, 2024 10:25 am
by deyvidpi
Hello,

I am trying out the new BSM/SKEL model. The authors used nimblephysics instead of OpenSim, and visualized it with AitViewer-SKEL.

Everything seems to be displayed correctly via nimblephysics, but not via OpenSim. The scapula, which is defined by an EllipsoidJoint, is not located nor oriented correctly. Is it a known issue? Do they have a different definition of the EllipsoidJoint?

For the sake of clarity, here is what I see (I could not visualize it in OpenSim GUI so I used a tool I coded in Blender, running OpenSim API under the hood):
Screen_ellipsoid.png
Screen_ellipsoid.png (161.01 KiB) Viewed 812 times

Thanks in advance,
David

Re: EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Fri Jan 12, 2024 11:27 am
by keenon
Just to help us reproduce and debug, what sort of error are you getting when you try to open the model in the OpenSim GUI? If it's something related to "ConstantCurvatureJoint" not being supported, make sure you're on the latest OpenSim 4.5 GUI from here: https://simtk.org/projects/opensim. If this fixes the issue, or if it's some other error, we'd love to hear about it.

I implemented the EllipsoidJoint in nimblephysics to try to reproduce the OpenSim joint, it's entirely possible that they are being interpreted differently, in which case I'll have to update nimble's implementation. What version of nimblephysics are you on?

Re: EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Fri Jan 12, 2024 4:58 pm
by deyvidpi
Hello and thanks for your time,

I used OpenSim 4.5-2023-12-04-cfbf426 for Windows (see my last post there), so I don't have that ConstantCurvatureJoint error anymore.
The inconsistency is the same if I only use the API from the last conda version.

I haven't actually installed nimblephysics since I run on Windows and I haven't had time to nimble remote display on a Linux server yet. However, I used the IKs and models from the dataset provided in the SKEL paper that you coauthored. Apparently, the OpenSim fit has been done with nimble physics within AitViewer-SKEL (no constraint on its version according to setup.py)).

Re: EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Wed Apr 24, 2024 3:22 am
by deyvidpi
Hello again,

I need to choose a full-body OpenSim model and I have potential applications with SMPL meshes, so the BSM model from SKEL felt like the perfect fit. However, there are issues when using it outside of Nimble physics, both in the GUI and the conda package.

After converting the ply Geometry files, I tried to import an example scaled model and its corresponding IK, which resulted in weird results.
I have the feeling that the problem lies in the definition of the EllipsoidJoint.

Is there any plan to support the model within OpenSim? If not I'll use another model, but if it is already in process I can probably wait a few weeks!

Re: EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Thu Apr 25, 2024 10:02 am
by nbianco
Hi David,

We are tracking this issue on the AddBiomechanics repository. You can review the issue to see a summary of the fixes and remaing issues here: https://github.com/keenon/AddBiomechanics/issues/222.

Indeed, there seems to be a mismatch between the joint definition of the EllipsoidJoint between nimblephysics and OpenSim. I've been working on a few other development priorities, so I haven't had time to spend on this recently.

If you're willing to take a look into these differences, the help would be greatly appreciated!

Best,
Nick

Re: EllipsoidJoint in OpenSim vs NimblePhysics

Posted: Thu Apr 25, 2024 11:26 pm
by deyvidpi
Thank you for your answer, I posted on the issue!