Page 2 of 2

RE: Static optimization failure

Posted: Mon Nov 29, 2010 2:49 am
by aymanh
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

RE: Static optimization failure

Posted: Tue Dec 07, 2010 11:16 am
by andynew
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

RE: Static optimization failure

Posted: Wed Dec 08, 2010 1:47 pm
by modenaxe
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

RE: Static optimization failure

Posted: Mon Dec 13, 2010 1:04 pm
by ruschmax
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

RE: Static optimization failure

Posted: Mon Dec 13, 2010 1:11 pm
by aymanh
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

RE: Static optimization failure

Posted: Mon Dec 13, 2010 1:47 pm
by ruschmax
Thanks Habib.

Bug reported.

I'm looking forward to get help.

Max Rusch