DeGrooteFregly2016 muscle in CMC

OpenSim Moco is a software toolkit to solve optimal control problems with musculoskeletal models defined in OpenSim using the direct collocation method.
User avatar
Xiao Hu
Posts: 22
Joined: Fri Jun 26, 2009 9:25 am

Re: DeGrooteFregly2016 muscle in CMC

Post by Xiao Hu » Fri Nov 19, 2021 8:33 am

Hi all,

Thanks for all your testing and thoughts. Here are a few things that I would like to add.

To Ross' first comment. The reserve and residual actuators were included in the model I tested, with which the CMC could not initialize when muscles are replaced by DGF Muscle. The same model with Thelen Muscle can run CMC without any issue.

In my testing, I also found that the issue is muscle dependent, consistent to what John reported. A few other muscles that have triggered the issue are Semimembranosus and Add_mag_1 in Gait_2392 Model.

The CMC was able to run the CMC example shipped with Gait_2354 model from the OpenSim4.3 installation package, and Gait_2354 model has the rectus femoris. However, John reported that this muscle caused his testing to fail.

When the CMC failed to initialize after Semimembranosus was added to the Gait_2354 model, the initialization process did not complain anything about this muscle (see the message below). So, it is unclear whether the issue is directly related to the warning "the muscle exceeding its maximum contraction velocity".

-----------------------------------------------------------------
Computing initial values for muscles states (activation, length):
-----------------------------------------------------------------
-- Start time = Tue Nov 16 22:27:37 2021
-----------------------------------------------------------------

-------------------------------------------
CMC::computeInitialStates, guess (ti = 5.75):
-------------------------------------------
-- Q = ~[0.153463 -0.148384 -0.106599 -0.783487 0.87235 0.007908 -0.183068 0.177024 0.126684 0.289275 -0.204831 -0.155077 -0.0133236 0.191496 0.052747 -0.494291 -0.0864684 0.325578 0.0555869 -0.200147 0.0141306 0 0]
-- U = ~[-0.837162 2.07404 1.47075 0.188361 -0.20556 -0.339285 0.884288 -2.94451 -3.77048 1.21905 3.44648 3.6668 1.81599 -2.52771 -1.44292 -3.33511 -1.43237 4.49576 -2.86639 4.8264 -5.44787 0 0]
-- Z = ~[0.05 0.0471485 0.05 0.0587558 0.05 0.0559289 0.05 0.0662571 0.05 0.0692774 0.05 0.0585404 0.05 0.0374581 0.05 0.0511684 0.05 0.0611268 0.05 0.0563344 0.05 0.043961 0.05 0.0148821 0.05 0.0906336 0.05 0.0374215 0.05 0.0553505 0.05 0.00529613 0.05 0.00858517 0.05 0.0227233 0.05 0.0777286 0.05 0.0689263 0.05 0.0502534 0.05 0.0748782 0.05 0.0473721 0.05 0.0529887 0.05 0.005047 0.05 0.0678561 0.05 0.0508553 0.05 0.0814251 0.05 0.0479941 0.05 0.0471485 0.05 0.0587558 0.05 0.0559289 0.05 0.0662571 0.05 0.0692774 0.05 0.0585404 0.05 0.0374582 0.05 0.0511684 0.05 0.0611268 0.05 0.0563344 0.05 0.043961 0.05 0.0148821 0.05 0.0906336 0.05 0.0374215 0.05 0.0553505 0.05 0.00529613 0.05 0.00858517 0.05 0.0227233 0.05 0.0777286 0.05 0.0689263 0.05 0.0502534 0.05 0.0748782 0.05 0.0473721 0.05 0.0529887 0.05 0.013564 0.05 0.0678561 0.05 0.0508555 0.05 0.0814228 0.05 0.047994 0.05 0.0677391 0.05 0.0677391 0.05 0.0663875 0.05 0.0663875 0.05 0.0850409 0.05 0.0850409]
-------------------------------------------

DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max1_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'peri_l' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'peri_l' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max1_l' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max1_l' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_med3_l' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_med3_l' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_l' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_l' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'quad_fem_l' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'quad_fem_l' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max2_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'bifemlh_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'bifemlh_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'bifemlh_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'bifemlh_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'add_mag2_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'add_mag2_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'add_mag2_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max3_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max3_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max3_r' is buckling (length < tendon_slack_length) at time 5.75 s.
DeGrooteFregly2016Muscle 'glut_max3_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tfl_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'rect_fem_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'soleus_r' is exceeding maximum contraction velocity at time 5.75 s.
DeGrooteFregly2016Muscle 'tib_post_r' is exceeding maximum contraction velocity at time 5.75 s.

User avatar
Nicholas Bianco
Posts: 1050
Joined: Thu Oct 04, 2012 8:09 pm

Re: DeGrooteFregly2016 muscle in CMC

Post by Nicholas Bianco » Mon Nov 22, 2021 1:38 pm

Hi Xiao,

In these cases I find it helpful to plot muscle fiber lengths and velocities to see what is happening at time points when equilibrium fails. The DGF muscle curves are based on the same Hill-type curves as the Millard muscle, but due to differences in implementation to ensure smoothness for optimization, the DGF curves are slightly different. This may cause differences in behavior at extreme ends of the muscle force-length and force-velocity curve.

Similar to John's recent post, you may need to adjust muscle fiber and tendon parameters to ensure the muscle stays within reasonable force-generating ranges. This is especially true for bi-articular muscles (e.g., semimembranosus and rectus femoris) that undergo large length changes with changes in joint angles.

-Nick

User avatar
Xiao Hu
Posts: 22
Joined: Fri Jun 26, 2009 9:25 am

Re: DeGrooteFregly2016 muscle in CMC

Post by Xiao Hu » Mon Nov 22, 2021 2:35 pm

Hi Nick,

We are aware the small differences in the FLV curves in the DGF Muscle compared to the Thelen and Millard Muscle. This is the reason that we would like to re-run some CMC trials previously done with the Thelen Muscle.

With regard to your suggestion of plotting muscle fiber lengths and velocities, do you know how these plots may be done when CMC fails to initialize and nothing is output?

Thanks!

User avatar
Xiao Hu
Posts: 22
Joined: Fri Jun 26, 2009 9:25 am

Re: DeGrooteFregly2016 muscle in CMC

Post by Xiao Hu » Mon Nov 29, 2021 8:26 am

Hi John,

When you replaced the right vasti muscles, did the CMC go through initially when there were warnings about exceeding maximum contractile velocity and tendon buckling? I am wondering whether the warnings are related to the fail in CMC initialization.
johnjdavisiv wrote:
Thu Nov 18, 2021 2:13 pm

I can confirm that the DeGrooteFregly muscle works just fine in CMC with OpenSim 4.3. I did a little experiment where I grafted the right vasti muscles from Ross Miller's 3D walking model (which are DeGrooteFregly muscles) onto the Rajagopal model (which has Millard muscles) and ran through CMC for walking with the setup files and data provided along with the Rajagopal model.

Initially I was getting warnings about exceeding maximum contractile velocity and tendon buckling, but these went away after I realized I hadn't adjusted fiber length and tendon slack length to match the scaled model.

I used Luca Modenese's muscle parameter optimizer to tweak the fiber and tendon slack lengths, and everything worked great.

User avatar
Nicholas Bianco
Posts: 1050
Joined: Thu Oct 04, 2012 8:09 pm

Re: DeGrooteFregly2016 muscle in CMC

Post by Nicholas Bianco » Mon Nov 29, 2021 2:32 pm

Hi Xiao,

You can plot the muscle-tendon lengths (which are just a function of joint angles) and see if any of these lengths go shorter than the tendon slack lengths. If that happens, there's nothing the muscle model can do to avoid buckling. You either have to adjust the tendon slack length, restrict joint angle ranges, or adjust the muscle-tendon paths.

User avatar
John Davis
Posts: 59
Joined: Mon Aug 26, 2019 7:42 am

Re: DeGrooteFregly2016 muscle in CMC

Post by John Davis » Mon Nov 29, 2021 2:33 pm

Hi Xiao,

Yes! Sometimes I get maximum contractile velocity or buckling warnings and the tool succeeds, and other times I get warnings and it fails! I definitely agree that the problem has to do with initialization.

Here is a log of a successful CMC run when all the left vasti muscles are replaced with DGF muscles. There are tons of warnings, but afterwards the tool reports that it has successfully finished computing initial states.

Here is a log of a failed CMC run with all the same settings, but this time the left rectus femoris muscle was replaced with a DGF muscle. Notice how the log ends (because the tool failed) before the initial states have been successfully computed.

Interestingly, sometimes a DGF muscle can be initialized with no warnings at all. Replacing the left sartorius muscle with a DGF version causes no warnings, and CMC proceeds just fine.

I strongly suspect there is an interaction between the muscle length, its optimal fiber length, and its tendon slack length that can sometimes create problems when trying to invert the force-velocity curve, like Ross mentioned. In the next few weeks I might try to find a simpler way to reproduce the problem--maybe with a sliding mass and a single muscle. I'm thinking some forward simulations with a simple test-bed like this might help reveal what's causing these hard-to-pin-down failures.

User avatar
Xiao Hu
Posts: 22
Joined: Fri Jun 26, 2009 9:25 am

Re: DeGrooteFregly2016 muscle in CMC

Post by Xiao Hu » Tue Nov 30, 2021 7:44 am

Hi all,

As suggested by Nick, I plotted out the muscle-tendon length of Semimembranosus in the failed CMC trial (see the attached pic below; the output log of this trial was posted in my previous post). The Semimembranosus is the muscle that caused the failure of CMC. The MT lengths are about 0.347 and 0.389 m for the right and left Semimembranosus. In the model the Lst is 0.323 m, Lo is 0.072m and pennation angel at Lo is 15 deg of this muscle.

So, the MT length is larger than the Lst. Assuming tendon is at Lst, the fiber length should be around or little less than 40% of Lo, at which Semimembranosus likely would not be able to generate much force, but would not buckle neither. This is consistent with the fact that the initialization process did not complain about this muscle.

With regard to the output logs shared by John, they are consistent with what I have seen: the maximum contractile velocity or buckling warnings may show up in either successful and failing CMC trials.
Attachments
Semimem MTLength.jpg
Semimem MTLength.jpg (86.73 KiB) Viewed 1792 times

User avatar
Ross Miller
Posts: 375
Joined: Tue Sep 22, 2009 2:02 pm

Re: DeGrooteFregly2016 muscle in CMC

Post by Ross Miller » Tue Nov 30, 2021 11:42 am

Hi Xiao,

You may have stated this already, but what type of movement are you studying here?

I ask because CMC like all inverse-dynamics based approaches to the indeterminacy problem is prone to the "Fundamental Problem of Inverse Dynamics" (https://doi.org/10.1016/S0021-9290(01)00158-0) and this will be especially evident in fast/effortful movements. This is why you'll often see CMC-type methods need super-human muscle strength or unusually fast contractile elements (e.g. Vmax = 20) to solve problems for movements like sprinting.

Ross

User avatar
Xiao Hu
Posts: 22
Joined: Fri Jun 26, 2009 9:25 am

Re: DeGrooteFregly2016 muscle in CMC

Post by Xiao Hu » Tue Nov 30, 2021 12:18 pm

Hi all,

The simulations that I am trying to re-run with DGF Muscle in OpenSim 4 are walking down a slope at -6 deg and walking on the level ground (0 deg), which were previously published at: https://www.sciencedirect.com/science/a ... 901630834X. The original study ran CMC with Thelen Muscle in OpenSim 3.1. So, the movement is typical for CMC.

POST REPLY