Static optimization failure

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
User avatar
Ayman Habib
Posts: 2235
Joined: Fri Apr 01, 2005 12:24 pm

RE: Static optimization failure

Post by Ayman Habib » Mon Nov 29, 2010 2:49 am

Hi Max,

You can think of StaticOptimization as 2 steps:
1. Solving for joint torques (ala Inverse Dynamics) to reproduce a motion.
2. Solving for Muscle forces/activations to produce the torques in 1.

The current formulation of StaticOptimization solves 1. & 2. simultaneously by imposing (1.) as a set of constraints on joint accelerations, so the constraint violations you see are joint accelerations that couldn't be matched. If these violations are not close to zero then I'd ignore the results for this timestep.

To resolve this issue I'd step backward and try Inverse Dynamics (which uses inputs very similar to StaticOptimization) to see what are the required joint torques and if they are reasonable for the muscles to generate. If these torques turn out to be too large, consider these possible issues:
1. Fast motion, or activity that the model wasn't designed for (I'd contact the model authors if in doubt).
2. Noisy data that causes large accelerations when differentiated (filtering may fix this).
3. Issues with external forces not applied correctly (if any).
4. Related to 1, can you use a simplified model instead?

Hope this helps and please let me know how it goes,
-Ayman

User avatar
Andrew New
Posts: 1
Joined: Mon Jan 12, 2009 8:20 am

RE: Static optimization failure

Post by Andrew New » Tue Dec 07, 2010 11:16 am

Thomas,

I too have just come across this problem, and, despite tinkering, not found a solution. Did you manage to solve the problem?

Cheers

Andrew

User avatar
Luca Modenese
Posts: 43
Joined: Wed Jan 21, 2009 9:16 am

RE: Static optimization failure

Post by Luca Modenese » Wed Dec 08, 2010 1:47 pm

If you are using a model without a torso segment you can probably solve this problem defining coordinate actuators acting on the pelvis in order to balance the residual forces that the muscle are not able to equilibrate. I hope it helps you.

Luca

User avatar
Max Rusch
Posts: 18
Joined: Tue Dec 15, 2009 11:22 am

RE: Static optimization failure

Post by Max Rusch » Mon Dec 13, 2010 1:04 pm

Hi Habib,
Thanks for the help!

Following your suggestions, I tryed these ways:

- I changed the inertial properties of the model using two different methods:
-- simplified geometric equations that consider the body segments as solid, e.g. cylinder for the arm and fingers, cubes for the carpal bones;
-- Zatsiorsky reference of inertial properties.
In the first method I found a moment peaks of 10N.m (similar to other studies), in the second trial I found a moment peaks of 50N.m . Both moments for shoulder abduction movement. However the static optimization in these two trials had same constraint violation problems.

- Furthermore, I believe that the motion set I’m using is slow enough and it is already filtered. I can send this data if want to.

- This motion data still don’t have external forces applied, then for now, it is not the problem.

- Or even modifying the options of static optimization tool:
--“sum of muscle activation”;
--“filter coordinates”;
-- using or not “force-length-velocity relation”.

For all trials I found the same “constraint violations” problems that I reported to you in the last post.

Any more suggestions?

My best regards, Max Rusch

User avatar
Ayman Habib
Posts: 2235
Joined: Fri Apr 01, 2005 12:24 pm

RE: Static optimization failure

Post by Ayman Habib » Mon Dec 13, 2010 1:11 pm

Hi Max,

Please file a bug report and include the model and all the files necessary to reproduce the problem and we'll look into it and post an update on the forum.

Thanks,
-Ayman

User avatar
Max Rusch
Posts: 18
Joined: Tue Dec 15, 2009 11:22 am

RE: Static optimization failure

Post by Max Rusch » Mon Dec 13, 2010 1:47 pm

Thanks Habib.

Bug reported.

I'm looking forward to get help.

Max Rusch

POST REPLY