Adjustment of Muscle Parameters

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
User avatar
William Thompson
Posts: 17
Joined: Mon Jun 25, 2012 7:07 pm

Adjustment of Muscle Parameters

Post by William Thompson » Thu Oct 23, 2014 4:52 am

I've not had much luck with the forum to date, so I will try a more generic question.

First some background. We are using OpenSim to estimate loading stimuli at specific anatomical sites from resistance-training exercise on devices specially designed to operate in microgravity. We currently are using a scaled version of the Arnold model with the Millard muscle model for the lower limbs. We are using ID, static optimization and further analyses to get joint reaction forces, joint torques, and muscle forces in a 1g based simulation to get us started. We have models of the squat, single-leg squat and heel raise exercise.

My question centers around the choice of muscle parameters for the Millard muscles in the model. I understand the concepts behind max isometric force, tendon slack length, optimal fiber length, etc., but I am at a loss as to the process for methodically tweaking these parameters to make them valid for the subject we are simulating. Small changes in these parameters can make huge changes in the behavior of the muscle in question as well as its co-agonists and antagonist muscles. I liken the task of finding the optimal parameter set to a "tuning" process, but there seems to be precious little information out there as to how to "tune" the muscles in your model. This Powerpoint tells you what to tweak:

http://simtk-confluence.stanford.edu:80 ... 1835686704

but it gives little clue as to HOW to tweak in a methodical manner in order to move consistently toward an optimal parameter set without the process becoming like nailing Jello to the wall, if you get my meaning.

We are currently stuck in our progress toward meeting our research goals, so any help would be greatly appreciated.

Warmest regards,

Bill Thompson
NASA Digital Astronaut Project

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: Adjustment of Muscle Parameters

Post by Ton van den Bogert » Thu Oct 23, 2014 1:42 pm

Bill,

Here are some thoughts. The Opensim team will probably also respond.

1. If your results are so sensitive to muscle properties, that is a problem, because these muscle properties will always be somewhat uncertain. Rather than trying to get better muscle properties, I would try to come up with a method that is not overly sensitive to these uncertainties.

2. In my experience with static optimization, the results are not sensitive like that. But Opensim's static optimization (SO) is different from the "classic" static optimization I am familiar with. Opensim takes into account the force-length and force velocity relationships of the muscle fibers (assuming a fixed length tendon). Classic SO only requires maximal isometric force (Fmax) and moment arms.

3. When doing inverse kinematics, Opensim lets you scale the model to the size of the subject. If the muscle fiber length and tendon slack length are not scaled properly, the muscle fibers may end up being too long or too short to generate much force during the movement. Classic SO does not have that problem.

4. Also I notice that Opensim SO does not consider force generated by parallel elasticity. If your exercises include deep flexion squats, the absence of this passive force may be a problem. Classic SO does not care where the force comes from, muscle fibers or parallel elasticity.

5. You should be able to trick Opensim into doing a "classic" SO by setting <use_muscle_physiology> to false in the options file. I would definitely start with this, to reduce the sensitivity to muscle properties. You can also eliminate muscle properties from the analysis one at a time. For instance, you can increase all Fmax values by a factor 10 to eliminate the upper bound on muscle force. You can increase maximal shortening velocity by a large factor. You can make the active force length curve a constant value of one.

6. If all Fmax values are increased by the same factor, the SO results will be identical as long as no muscle has reached its upper bound.

7. Even then you may end up with insufficient muscle strength to generate the joint moments. First I would check the joint moments to see if they are unusually large. This can be caused by misregistration between the force plate and motion capture coordinate systems. Or it can be caused by a poor fit in the inverse kinematics, which places the joint axis of the model too far from where it really was. Large marker residuals in the IK would be an indication that this is the case.

8. Even if the joint moments are correct, you can still have insufficient strength, if your subject was strong and did a high-intensity exercise. Models are generally based on muscle volume in cadaver specimens, often elderly. Rather than include reserve actuators, I prefer to just remove the upper bound on muscle forces and let them be as large as they need to be. Opensim may not allow you to turn off the upper bound, but you can increase the Fmax of all muscles by a factor 10 to achieve the same result, as I mentioned earlier.

There is a nice paper by Anderson and Pandy which studied some of these things (http://www.sciencedirect.com/science/ar ... 900000155X). They compared dynamic optimization (like CMC in Opensim) to physiological static optimization and non-physiological (which I call "classic") static optimization. All three results were practically identical, which proves that the simple classic SO is fine. This was for gait, and the caveat is that results may be different for high-intensity or high-speed exercise. In that study, the analysis was done on simulated data, and the physiological SO had perfect knowledge of the properties of the muscles in the simulation model that generated the data. In the real world, it's definitely not like that and you may be better off with the classic non-physiological SO which does not depend on all those muscle properties.

Come visit us again at Cleveland State soon!

Ton van den Bogert

User avatar
Ajay Seth
Posts: 136
Joined: Thu Mar 15, 2007 10:39 am

Re: Adjustment of Muscle Parameters

Post by Ajay Seth » Thu Oct 23, 2014 3:30 pm

Bill, you might want to verify that that the muscle moment-arms of the Arnold 2010 model are valid (at least reasonable) over the complete range of motion you are studying. For example, Edith Arnold herself (http://jeb.biologists.org/content/216/11/2150.full.html) had to adjust the muscle paths of major knee muscles when studying running at higher speeds due to the knee flexing beyond the limits of her 2010 model. The behavior of the muscle moment-arms were quite surprising beyond the limits, with a few flipping sign 10-15 degrees out. You could imagine then that a muscle driven solution may be impossible without correcting these.

Second, the process of tuning the muscle parameters in order to get a better match with experimental (inverse dynamics moments is called model calibration by the EMG-driven folks (Lloyd, Besier, Manal, Buchanan, Sartori, ...) where they vary all muscle parameters but do place bounds based on physiology or some other measure of reasonableness. I would not tweak these before I was certain there wasn't another issue.

As Ton points out if you are not interested in muscle fiber behavior and the relationship between tendon and fiber work and other details about how muscles are generating the forces, then SO is a good option. Traditional SO can be performed by unchecking the "Use muscle force-length-velocity relationship" option (OpenSim 3.2). If you check that option then as Ton mentioned then a fixed-length (e.g. rigid) tendon will be assumed and all muscle-tendon unit length changes and its lengthening speed will be associated with the fiber. The Millard muscle curves can be unforgiving since they adhere to the physiological curves as closely as we could get. That means at 0.5 and 1.5 optimal fiber lengths, the active fiber force is effectively zero. At extremes of the range of motion this is likely to come into play.

We often supply SO with additional idealized CoordinateActuators (reserve actuator) in case the muscles are too weak so that we can at least evaluate a solution. Without those actuators present, the optimizer may fail to satisfy the constraint to match the acceleration profile provided (from the input kinematics). There are some trouble shooting tips here http://simtk-confluence.stanford.edu:80 ... leshooting

Please, let us know what you find.

User avatar
William Thompson
Posts: 17
Joined: Mon Jun 25, 2012 7:07 pm

Re: Adjustment of Muscle Parameters

Post by William Thompson » Mon Oct 27, 2014 5:18 am

Ton and Ajay,

Thank you for very detailed and specific suggestions. We have a lot of things to try, which will take some time, but I'll offer a few responses that I can address right now.

Our IK fit is very good, with very low RMS and max marker errors relative to the OpenSim guidelines of 2cm and 4cm, respectively. We come in at less than half of those numbers throughout the movements.

We will try the use_muscle_physiology = false suggestion first. You both agree that it should further illuminate the path forward. The fact that we do not have EMG data for our subject further confirms this in my mind.

We are also examining the moment arm behavior as Ajay suggested. Our subject is rather fit and can perform deep squats approaching 140 degrees of knee flexion, so this may indeed be an issue.

Muscle weakness has not been a problem for us, once we found the "sweet spot" for setting the reserve actuators. When we run SO currently, we get "performance" numbers in the 10^0 to 10^2 range, but "constraint violations" are very low, in the 10^-11 to 10^-12 range throughout the movement.

We have also been tinkering with the n (exponent) parameter in SO based on the suggestion of one of Ton's students who works on our team. Currently the model tolerates a value of 4, but anything higher causes OpenSim to crash.

More to follow as we investigate further....

Bill

User avatar
William Thompson
Posts: 17
Joined: Mon Jun 25, 2012 7:07 pm

Re: Adjustment of Muscle Parameters

Post by William Thompson » Mon Oct 27, 2014 5:37 am

Further information on ID results:

Peak moment magnitudes for the deep squat with max load of 185 lb (84 kg) are between 350-400 N-m in the knee and 300-350 N-m in the hip. For heel raise, with a max load of 225 lb (102 kg), the peak ankle moment magnitude is in the 125-150 N-m range. These do not seem excessive, given the conditions, but I am open to further comments on these.

The subject's weight is 76kg.

Bill

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: Adjustment of Muscle Parameters

Post by Ton van den Bogert » Tue Oct 28, 2014 4:31 pm

Bill,

So it seems that your static optimization is (numerically) successful because the constraints are not violated. Still you find the results too sensitive to muscle parameter adjustments.

Uncheck the "use muscle physiology" should definitely be illuminating. Some of the muscle may be operating on a steep part of the force-length relationship. A small change in optimal fiber length, or tendon length, or joint angle can then lead to large changes in load distribution between muscles.

If some muscles are "maxing out", increasing the Fmax may be needed to represent your subject.

Also remember that the standard lower extremity models in Opensim have mostly been used for gait, and there's not much experience with high intensity exercise. It's no surprise to encounter some surprises...

It's too bad that the optimization no longer works for higher exponents. Higher exponents, however, will only make the model more sensitive to muscle properties (I think) so I would not pursue that right now.

A side note on that: it would be great if Opensim would implement a minmax criterion optimization (equivalent to infinite exponent). This is theoretically equivalent to minimal fatigue. The Anybody system has that option, and it is formulated as a linear programming problem.

User avatar
William Thompson
Posts: 17
Joined: Mon Jun 25, 2012 7:07 pm

Re: Adjustment of Muscle Parameters

Post by William Thompson » Thu Nov 06, 2014 11:42 am

Thanks, Ton,

We are seeing fairly good results for heel raise with muscle physiology unchecked and the control range expanded from [0, 1] to [0, 10]. This way the muscles can activate to whatever level is necessary to accomplish the task.

Squat results are less satisfying. We are trying to reduce the reserve actuators on the joints as low as possible, but doing so causes the total knee extensor force (RF+VM+VI+VM) to balloon all the way up to >40000 N for a deep squat (>130 degree knee angle) with 185 lb (84 kg) applied load. This is a high value for this, and it seems indicative of the muscles not representing the true physiology well. I did a moment arm check on these, as Ajay suggested, and the muscles do no switch signs over the range of motion, but the patellar ligament (patlig) does. See figure, attached. Pehpas the patlig is contributing to the problem? Or perhaps the paths of the knee extensors in the model need adjustment? We've done very little with altering muscle paths in the models, so any insight on that would be welcome.

Bill
Attachments
KneeExtMomentArms.PNG

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: Adjustment of Muscle Parameters

Post by Ton van den Bogert » Thu Nov 06, 2014 12:41 pm

The moment arm check was a good idea. The moment arms you have do not make sense. The quadriceps moment arms should all be positive and not as close to zero. Your plot shows small moment arms at certain angles and that would explain the large muscle forces.

Which model are you using? When I plot the moment arms of the gait2392 model in Opensim 3.2, they look a lot more sensible. (plot attached). But that model has no pat_lig and no patella. Instead, the quadriceps muscles insert on a moving point on the tibia which is mechanically equivalent.

Even with these better moment arms, you may still have problems because the moment arm is only 2 cm in a deep squat. And paradoxically, that is when the highest knee moment is needed.

It's good to remind ourselves that people rarely use these models for very flexed postures. Most users study standing, walking, running. So if there are problems with the model in these postures, you may be the first to run into them.

The gait2392 model is derived from Delp's 1990 model (I checked, the muscle paths are identical). I have run into such problems before when using that model. For instance, at high hip flexion (which we needed in sports movements), the Psoas or Iliacus became zig-zagged path. This changed the sign of the moment arm and it became a hip extensor.

So check the moment arms (and the joint moments) to make sure that they are sensible, before you trust the muscle force estimates.

Ton
quad moment arms.png

User avatar
William Thompson
Posts: 17
Joined: Mon Jun 25, 2012 7:07 pm

Re: Adjustment of Muscle Parameters

Post by William Thompson » Mon Nov 10, 2014 8:23 am

Ton,

We are using Edith Arnold's model, modified to include the Millard muscle model rather than the older Thelen model. Her model includes multiple wrapping surfaces to accommodate higher degrees of knee flexion that she encountered during running at full sprint.

The gait 2392 model you refer to defines knee flexion as a negative angle, whereas the Arnold model defines it as a positive angle. That would account for the sign change. With that in mind, the two models actually have very similar moment arms throughout knee flexion, peaking near 5cm at 25-30 degrees flexion for the rec fem, and near 2cm for very deep knee flexion. As you can see the Arnold model allows for 150 degrees of knee flexion, but the gait model stops at 120. And they do differ significantly in knee hyperextension, but (hopefully) our movements are such that we do not have to worry about that range of motion.

I am concluding that your assessment of our need to develop our own model to accommodate deep knee flexion (and hip flexion as well) is right on the money. We plan to publish a NASA internal report with our initial findings -- and this is a finding, albeit a negative one -- while emphasizing the need for significant model development in our forward work. If your schedule allows it, and you are interested, I'd love to have a face-to-face visit with you and your team in December once we complete our draft (which I will forward to you). Perhaps we can discuss strategies for modifying the models then.

I think this is the primary source of our problems, so I do thank you and Ajay for the insights you've given us. If anyone reading this knows of research teams using OpenSim to study motion with severe knee and/or hip flexion angles under high intensity loading, I would be most interested to get in touch with those teams. Even if we are truly pathfinding this, we will gladly share our model once we have it working well.

Bill Thompson
NASA Digital Astronaut Project

User avatar
Ton van den Bogert
Posts: 164
Joined: Thu Apr 27, 2006 11:37 am

Re: Adjustment of Muscle Parameters

Post by Ton van den Bogert » Sun Nov 23, 2014 3:07 pm

Bill,

Thanks for clarifying the difference between these models. With the sign change in joint angle, their moment arms are indeed very similar.

I agree with your conclusion. The moment arms go to zero as the knee flexion approaches 150 degrees, which makes it very hard for the quadriceps to deliver the required moment. This suggests that there is a need for additional modeling work.

It would be important to verify with direct cadaver measurements that the moment arms are indeed that small. I have not seen moment arm measurements at high flexion angles, they typically stop at about 100 degrees (e.g. http://www.ncbi.nlm.nih.gov/pubmed/2079066). Linear extrapolation would give a very small moment arm also, but that is not a real measurement.

Also in deep squats, you get compression of soft tissue at the back of the thigh, which then assists the quadriceps in producing a knee extension moment. Here's a paper that found that this contributes about 70% of the total moment during a squat at 155 deg knee flexion.
http://www.cdc.gov/niosh/mining/userfil ... /famot.pdf. This should be included in a model for passive moments. The best paper I know of for passive moments is this one: http://www.ncbi.nlm.nih.gov/pubmed/10327008, but it stops before the high flexion angles where this becomes important. These compressive forces would be quite different between subjects, of course, depending on the size of the thigh.

Arnold's model may not include passive (non-muscle related) moments, but it would not be hard to add those. It would also be good to verify that the passive moments from muscles (through the parallel elasticity) are realistic.

I tried to plot passive joint moments but I don't think that the GUI plot tool can do this. When I asked for the knee moment generated by a hip muscle, it was perfectly zero so I don't think any passive knee moments (muscular or non-muscular) were included. When I ask for the (active) moment of the quadriceps muscles, I see a passive contribution rising after 150 deg flexion, but there is a strange discontinuity suggesting a muscle wrapping problem. See plot below. This is for the gait2392 model, I do not have Arnold's model installed.
Untitled.png
Quadriceps moments in the gait2392 model
.

So clearly there is a need to critically examine these models before they are used for analysis of high flexion activities. Also at the hip.

Yes, I'm interested in reviewing your draft for the internal report and meeting in December.

Ton van den Bogert

POST REPLY