Static optimization returning incorrect info

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Tom Augenstein
Posts: 38
Joined: Thu May 03, 2018 8:19 am

Static optimization returning incorrect info

Post by Tom Augenstein » Wed Jun 20, 2018 5:08 pm

I'm running the static optimization toolbox on MoBL upper extremity dynamic model (https://simtk.org/projects/upexdyn). It runs to the end of my IK data, but the output is nonsense. I tried including residual actuators at the thorax to ground and coordinate actuators at each coordinate in the same format as CMC (low optimal force, high control range, etc.), and the muscle activation output is still nonsense. The model relies almost exclusively on the coordinate actuators to complete the task when they are present. The motion I'm attempting to simulate is well within the bounds of the model.

In addition, the model came with a tutorial, walking the user through each of the toolboxes with the preloaded data provided by the authors. However, even when I follow the tutorial and attempt to use their data to complete the static optimization, the output is still nonsense.

Is anybody familiar with the model or recognize this problem and could provide some insight?

Tags:

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Static optimization returning incorrect info

Post by Dimitar Stanev » Fri Jun 22, 2018 3:31 am

MoBL is not appropriate for SO, only for CMC because the model contain constraints. If you look at the files provided they use CMC and not SO. Hope this helps.

User avatar
Tom Augenstein
Posts: 38
Joined: Thu May 03, 2018 8:19 am

Re: Static optimization returning incorrect info

Post by Tom Augenstein » Fri Jun 22, 2018 8:31 am

Thanks for the reply, and I noticed that, but static optimization is a part of the CMC loop, so how could it be capable of running CMC without being able to run static optimization on its own?

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Static optimization returning incorrect info

Post by Dimitar Stanev » Tue Jun 26, 2018 1:18 am

You can append reserve actuators and SO will probably run. Unfortunately, if you look at the activations for this particular model you may not be very satisfied. You can give it a try and let us know.

User avatar
Tom Augenstein
Posts: 38
Joined: Thu May 03, 2018 8:19 am

Re: Static optimization returning incorrect info

Post by Tom Augenstein » Tue Jun 26, 2018 7:59 am

Yes I did try appending reserve actuators to the SO and you're right, the output was very chaotic, although the tool did run until completion.

But going back to my question: How can CMC run correctly if static optimization does not run correctly for a given model?

User avatar
Dimitar Stanev
Posts: 1096
Joined: Fri Jan 31, 2014 5:14 am

Re: Static optimization returning incorrect info

Post by Dimitar Stanev » Wed Jun 27, 2018 4:12 am

While SO is part of CMC, its main purpose is to calculate the muscle activations that satisfy the movement. Note that CMC is a forward dynamic method, thus it can handle models that have coordinates. Moreover, corrections are made by tracking the simulated and desired motion. In essence the two methods are different.

User avatar
Daniel Iordanov
Posts: 6
Joined: Mon Sep 03, 2018 7:17 am

Re: Static optimization returning incorrect info

Post by Daniel Iordanov » Fri Feb 08, 2019 3:45 am

Hello Dimitar,

So what will happen if I remove all the CoordinateLimitForces and the ConstraintSet from the model? If the problem is in those elements and I remove them SO should work.

After removing them with Notepad I can open the model, block all the coordinates that are not interesting for me and perform the simulation. For example if I am interested only in a simple arm elevation I would block all the coordinates except shoulder_elv, elv_angle and shoulder_rot, specify actuators for these 3 DOF and specify the external loads application (on the han for example, simulating a tool) and SO should work. I am right? Or maybe I am simplifying to much the existing problem?

Do you think that SO will work for this model in that way?

Thank you very much.

POST REPLY