Page 1 of 1

Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Wed Sep 13, 2023 7:12 am
by maxdiaz
So the tldr version of this adventure is I am curious if something changed in 4.2 about how muscle geometry paths are calculated that didn't make it into the release notes of 4.2/4.3/4.4.

The long version of this is that I was testing a combined version of the latest MoBL-ARMs upper limb (https://simtk.org/projects/upexdyn) and hand/wrist model (https://simtk.org/projects/arms_hand_model) in 4.3. In testing I found that certain combinations of positive wrist deviation and negative wrist flexion angles caused the ECRL and/or ECRB muscle to do some crazy muscle wrapping. The extent of the crazy path varies with the joint angles.
Wonky ECRL.png
Wonky ECRL.png (176.24 KiB) Viewed 1288 times
WonkyECRL2.png
WonkyECRL2.png (95.93 KiB) Viewed 1288 times

To see if it was my own mess up, I found that this also happened with fresh downloads of the models (can recreate on windows by setting deviation to .435 and flexion to -1.22, may need to mess with the elbow flexion in the upper limb model, although the issue isn't constrained to just those values). It isn't just a visualizer error since the fiber-length and moment arms are wonky.
UpperLimbValues.png
UpperLimbValues.png (45.81 KiB) Viewed 1288 times

Since the MoBL-ARMS upper limb model is validated to 4.1 I decide to try all the models in 4.1 to see what happened. In 4.1 the geometry path doesn't result in any crazy paths and all the fiber length/moment arms curves are normal. So...figuring it was a version issue and I tried 4.2 and 4.4 as well, both result in crazy geometry paths that cause similar issues for fiber length/moment arms as in 4.3.

The fix that I eventually found was that the ECRL and ECRB wrapping surfaces at the wrist were causing the issue (ruled out the elbow wrapping surface since 1. toggling it off didn't fix the issue and 2. ECRB doesn't use that wrapping surface). The default settings had this as the wrapping path settings
ECRLOGWrapFunction.png
ECRLOGWrapFunction.png (40.51 KiB) Viewed 1288 times
which work in 4.1 with no issues. However, to address the issue in 4.2, 4.3, and 4.4 I had to change the wrapping settings to
ECRLFixedWrapFunction.png
ECRLFixedWrapFunction.png (20.83 KiB) Viewed 1288 times
.

With the change I got identical force length/moment arm curves in 4.2/4.3/4.4 as the original models had in 4.1. I will note that the geometry path settings that work in 4.2/4.3/4.4 do cause some wrapping issues in 4.1, but it seems to just be a visualizer issue or small enough not to affect the fiber length/moment arm curves. Its also worth pointing out that the wrapping issues only occurred between points 1 and 2.

So ultimately I am curious if something changed in 4.2 that affects geometry path calculations that didn't make it into the release notes, since the original models have no issue in 4.1 but changing how the geometry path is calculated fixed the issue in 4.2 onwards. Or if this is some phantom wrapping issue. Also a heads up if someone else has this problem.

Cheers,
-Max

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Thu Jul 11, 2024 11:55 am
by kristy5gj
Hi Maximillian,
I'm using the model Mobl-arm in OpenSim 4.1. I ran the IK tool with experimental data. I got a estrange behavior in one of the muscles (LAT1) it seems it loses its point of origin or insertion at two time instants, I want to know if you could give me a hint about how to verify if that is a visualization issue or is the path of the muscle actually being altered.
Thanks for any help you can give me!

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Fri Jul 12, 2024 7:29 am
by maxdiaz
Hi Kristy,

The easiest way to see if the muscle path changes are either a visualizer error or path error would be to plot the fiber length and moment arm curves for LAT1. This can be done with the plot tool, and I usually do a set of plots in the default posture and a set of plots with my posture set to whatever combination causes the issue. If its a visualizer issue the plots should be smooth, if its a path/wrapping issue there will be spikes and/or random jumps. It may also be worth doing a set of curves in the base model and your scaled model.

My gut instinct is that it is probably a muscle path wrapping issue, new ones seem to pop up with the upper limb models every couple of OpenSim versions. You can see how paths are defined in the GemoetryPath section under the section where LAT1 is defined in the osim xml tree (open the osim file in something like NotePad++) or under the GeometryPath section of the muscle properties in the OpenSim GUI).

Out of curiosity could you share the joint angles (coordinates) for the two times LAT1 goes crazy in your IK results.

The good news is that the LAT1 muscle acting weird won't affect your IK results, but if you plan to run forward/inverse dynamics, static optimization, and/or CMC you may end up with a weird spike in the results at the two time points where LAT1 acts funny.

Cheers,
-Max

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Sun Aug 04, 2024 7:04 am
by kristy5gj
Hi Maximillian, thank you for your reply.
I finally got to post a reply.
I did the plots you suggested.
I do see a spike, sharper when plotting the base model (not scaled).
I attached the files you asked for.
Thank you for the help!

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Tue Oct 22, 2024 12:21 am
by jlequen
Hi there,
Maybe you can help me with my muscle path wrapping problem. I have tried to mirror the MOBL arm model to the left side, but I have a problem with the EDCM muscle. When the EDCM bend point is active, it's behaviour is very strange. As you advised Maximilian, I plotted the fibre lengths of the muscles and they vary. So I think it's a problem with the path, I also tried your suggestion to exclude the wrapping points, it helped a bit. The path is now close to the bone, but it's not the same as on the right model.
Have you both come up with any other solutions or any suggestions on what I can try?
Thanks for your help!
Joshua

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Wed Oct 23, 2024 8:24 am
by maxdiaz
Hi Joshua,

I haven't come across this issue yet. I usually do single arm analysis and just mirror the motion capture data of left handed subjects, or run two sets of single arm tasks when do a dual arm task (probably the only benefit of the arms acting 'fully' independent of each other.

The first thing I'd recommend is opening the model in 4.1. If the problem still occurs in 4.1 then its not a wrapping issue. Best guess in that case is a wrapping point coordinates/geometries got missed when mirroring to the new reference frames. Easiest way to check this is to place markers at each of the attachment points and wrapping objects on both arms to double check that one hasn't been missed (with so many points/behaviors to convert one always falls through the cracks). If that doesn't work it is a lot of just trying all the different combinations of wrapping path settings to find the one that is stable. It can take time but your muscles seem to be more of the wrapping path issue; where as Kristy found out that post 4.1 the muscles would eventual ignore the wrapping geometries at the humeral head causing it to go through the shoulder.

Unfortunately the core issue behind all these wrapping problems is that something changed in OpenSim 4.2 involving wrapping. I don't recall it on the update notes, so no clue if it was intentional or not. If you find a solution definitely share it, if not the updated Mobl-Arms models are stable in 4.1.

If you want/can share the model I can try and take a look when I have some free time pop up.

Cheers,
-Max

Re: Change in Muscle Geometry Path Calculations post-4.1 (Mobl-Arms models affected)

Posted: Tue Oct 29, 2024 1:10 am
by jlequen
Hi Maximilian,
thanks for your advise. My solution was to take the EDCM muscle from the Hand-Wrist model and include it into my left and right side. That changed the musclepath of the MOBL-Arms model a little bit, but the behaviour of the muscle is still convinient.
I attached you the model files, if you want you can take a look into them, but i do not really need that anymore.

Have a nice day,
Joshua