Changing the activation dynamic in the Millard2012EquilibriumMuscle

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Mike Spahr
Posts: 14
Joined: Mon May 04, 2020 7:59 am

Changing the activation dynamic in the Millard2012EquilibriumMuscle

Post by Mike Spahr » Tue Dec 29, 2020 8:53 am

Hello,

I'm trying to change the activation dynamic of the Millard2012EquilibriumMuscle within the C++ Code. Instead of using the implemented version, I want to use a Hatze like activation dynamic. In this activation dynamic, the activation itself is not a state variable, but depends on the normalized calcium concentration, which replaces the activation as a state variable.

My first try was to follow the example "MuscleExample", where a FatigableMuscle is used and derive a new muscle class from Millard2012EquilibriumMuscle. I already succeded with adding the normalized calcium concentration as a state variable, but I can't remove the activation from the state, since it is implemented on Millard2012EquilibriumMuscle level.

Do I need to derive a new muscle directly from Muscle.h or is it possible to just derive a modified activation dynamic muscle from Millard2012EquilibriumMuscle?
And if I have to derive the new muscle from Muscle.h, do I have to build OpenSim from source or is it possible to use the API similar to one of the examples?

Thank you for your answer.

Best,
Mike

Tags:

User avatar
Thomas Uchida
Posts: 1792
Joined: Wed May 16, 2012 11:40 am

Re: Changing the activation dynamic in the Millard2012EquilibriumMuscle

Post by Thomas Uchida » Wed Dec 30, 2020 9:50 am

It might be easiest to create your own version of the Millard2012EquilibriumMuscle model (rather than extending it), by copying and modifying Millard2012EquilibriumMuscle.h and Millard2012EquilibriumMuscle.cpp. You could build your new muscle model as a plugin (https://simtk-confluence.stanford.edu/d ... ng+Plugins).

POST REPLY