Monotonically increasing

What does the error message “Parameters values are not monotonically
increasing” mean when I am trying to run a model from motion capture
data? The problem comes up where I am trying to define
AnyKinEqInterPolDriver. Any ideas of what I could be missing?

Thanks in advance.

Hi Sarah,

It means that the time values in the driver are not monotonically
increasing, i.e. every new time must be strictly larger than the
previous one. Otherwise time would go backwards, which even AnyBody
is not capable of :wink:

Sincerely
John, AnyBody Support

— In anyscript@yahoogroups.com, “Sarah R. Sullivan” <sarsulli@e…>
wrote:
> What does the error message “Parameters values are not monotonically
> increasing” mean when I am trying to run a model from motion capture
> data? The problem comes up where I am trying to define
> AnyKinEqInterPolDriver. Any ideas of what I could be missing?
>
> Thanks in advance.

Hi John,

I have created a simple arm model, similar to the tutorial where a forearm
curls a dumbbell (Biceps Long and Short, Triceps Long and Short,
Brachialis, Brachioradialis, and Deltodeus A and B). In my model , the
upper arm hangs down vertically, and the forearm holds the dumbbell steady
90 degrees from the upper arm (static representation). When I ran the
model with all 8 muscles, both triceps and the deltodeus B had no effect
on the model so I neglected them in further analyses. Running the model
with any one of the remaining muscles produces the error “Muscle
recruitment analysis failed, simplex solver reports that solution does not
satisfy all constraints” for both a simple muscle model (F0=300) and a 3E
Hill-type muscle model. Is this because there is no need to do inverse
dynamics because there are 3 equations, 3 unknowns and the systems needs
no iterative solver to do this? When I add two muscles to the model, it
works sometimes but not always. Also, interestingly I get different Fm
and Elbow Reaction values for the two different muscle modeling scenarios.
Why does the addition of these parameters (K1, K2, Fcfast, Jt, etc)
affect an essentially static model? Is there a mathematical explanation
behind why these parameters give different Fm and Reaction Force values
than the simple F0=300 Nm model? And lastly, I represented the shoulder
joint exactly as I represented the elbow joint (as a revolute joint with a
fixed position and velocity), and I am not getting any shoulder reaction
forces. I am getting elbow reaction forces, like I said, but no shoulder
ones. Any suggestions? Sorry for the long email!

When you get a chance and it’s no rush, if you could take a moment and get
back to me that would be great. Thanks so much for your time!

Sarah

> Hi Sarah,
>
> It means that the time values in the driver are not monotonically
> increasing, i.e. every new time must be strictly larger than the
> previous one. Otherwise time would go backwards, which even AnyBody
> is not capable of :wink:
>
> Sincerely
> John, AnyBody Support
>
> — In anyscript@yahoogroups.com, “Sarah R. Sullivan”
> wrote:
> > What does the error message “Parameters values are not
> monotonically
> > increasing” mean when I am trying to run a model from motion
> capture
> > data? The problem comes up where I am trying to define
> > AnyKinEqInterPolDriver. Any ideas of what I could be missing?
> >
> > Thanks in advance.
>
>
>
>
> AnyBody Technology provides free support on the use of the AnyBody
> Modeling System and the Scripting language AnyScript. Other users are
> welcome to join the discussions.
>
>
> YAHOO! GROUPS LINKS
> Visit your group “anyscript” on the web.
> To unsubscribe from this group, send an email to:
> anyscript-unsubscribe@yahoogroups.com
> Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
>


Sarah R. Sullivan
PhD Candidate, Biomedical Engineering
Rutgers, The State University of New Jersey
Piscataway, NJ 08854
sarsulli@eden.rutgers.edu
908-420-3371

Hello Sarah,

I think I have to take this bit by bit. Please find my answers (and
some further questions below):

> I have created a simple arm model, similar to the tutorial
> where a forearm curls a dumbbell (Biceps Long and Short,
> Triceps Long and Short, Brachialis, Brachioradialis,
> and Deltodeus A and B). In my model, the upper arm hangs
> down vertically, and the forearm holds the dumbbell steady
> 90 degrees from the upper arm (static representation).
> When I ran the model with all 8 muscles, both triceps and
> the deltodeus B had no effect on the model so I neglected
> them in further analyses. Running the model
> with any one of the remaining muscles produces the error
> “Musclerecruitment analysis failed, simplex solver reports
> that solution does not satisfy all constraints” for both
> a simple muscle model (F0=300) and a 3E Hill-type muscle
> model. Is this because there is no need to do inverse
> dynamics because there are 3 equations, 3 unknowns and
> the systems needs no iterative solver to do this?
> When I add two muscles to the model, it
> works sometimes but not always.

There is a mathematical/numerical problem that arises in some cases
where the model is in perfect symmetry and needs no forces in either
direction. It sounds like you may have run into this problem, perhaps
due to the vertical upper arm. The problem is more prevalent for some
solvers than for others (AnyBody has several you can choose from).
Please check the study section in your model for the specification of
RecruitmentSolver, and set it to
RecruitmentSolver = MinMaxNRSimplex;

This is the more robust of the available solvers, and it might solve
you problem. If not, please come back. (There are good reasons why we
have other solvers as well, but that is a topic for another
discussion)

> Also, interestingly I get different Fm and Elbow Reaction
> values for the two different muscle modeling scenarios.
> Why does the addition of these parameters
> (K1, K2, Fcfast, Jt, etc) affect an essentially static
> model? Is there a mathematical explanation
> behind why these parameters give different Fm and
> Reaction Force values than the simple F0=300 Nm model?

Yes, of course there is. But let me propose the following. If the
advice above solves your first problem, then please upload your
working model to the files section of the group (and post a message
here to let us know you have uloaded it). It is much easier to
answer your questions when we can download your model and try for
ourselves.

Please notice that we have recently published a new muscle modeling
tutorial here: http://www.anybodytech.com/58.0.html. It will not
answer the questions above yet, but a chapter on muscle models is
temporarily lacking and will be uploaded soon. The chapters already
available may help you in your further work.

> And lastly, I represented the shoulder joint exactly as I
> represented the elbow joint (as a revolute joint with a
> fixed position and velocity), and I am not getting any
> shoulder reaction forces. I am getting elbow reaction
> forces, like I said, but no shoulder ones. Any suggestions?

That sounds strange and like there is some problem with your model.
But I think we need to take a look at the model to give you a proper
answer.

> Sorry for the long email!

No problem at all. We are here to help.

Best regards,
AnyBody Support