Static Optimization

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Hafizur Rahman
Posts: 13
Joined: Thu Mar 03, 2016 2:24 pm

Static Optimization

Post by Hafizur Rahman » Fri Oct 28, 2016 8:41 pm

Hi everyone,

I am a new user of OpenSim software. Currently, I am using "MoBL-ARMSDynamicUpperLimb-latest" shoulder model and trying to simulate abduction motion. Kinematics data were collected by Optotrak motion capture systems. Previously in the model, all the muscles were defined as "Schutte1993Muscle_Deprecated" types and I changed this to "Thelen2003Muscle" types. When I ran the SO without any types of actuators (the input was just the output obtained from IK, abduction and adduction for total of 8 sec), the OpenSim stopped at 71%. Here is the last portion of error messages:

**********************************************************************************
time = 5.64 Performance =9.45838 Constraint violation = 58.3401
SimTK Exception thrown at InteriorPointOptimizer.cpp:261:
Optimizer failed: Ipopt: Maximum iterations exceeded (status -1)
OPTIMIZATION FAILED...

StaticOptimization.record: WARN- The optimizer could not find a solution at time = 5.66

The model appears too weak for static optimization.
Try increasing the strength and/or range of the following force(s):
DELT1 approaching upper bound of 1
DELT3 approaching upper bound of 1
TMAJ approaching upper bound of 1
PECM1 approaching upper bound of 1
ANC approaching upper bound of 1
PL approaching upper bound of 1
PQ approaching upper bound of 1


time = 5.66 Performance =8.73829 Constraint violation = 856.77
******************************************************************************************************************

If I ran ID, it worked. Just wondering what will be the next steps to fix this?
i) Do I need to use RRA before SO and provide the output of RRA to SO to solve this problem?
ii) In addition to i), Do I need to add additional actuators to solve this?
iii) Also, I saw filtering option during SO setup. Does the RRA takes care of this or is it something different?

Thanks in advance,

User avatar
jimmy d
Posts: 1375
Joined: Thu Oct 04, 2007 11:51 pm

Re: Static Optimization

Post by jimmy d » Mon Nov 07, 2016 10:42 am

The error suggests that there are muscles in your model that are unable to generate the necessary forces to match the coordinate forces. You would have to increase the strength of those muscles, or assess if the muscles are on a 'bad' parts of the force-length curve. Have you included an actuator for every coordinate of the model? You must always include reserve actuators which account for deficits in muscle strength.

I also suggest working through the Static Optimization example.

User avatar
Hafizur Rahman
Posts: 13
Joined: Thu Mar 03, 2016 2:24 pm

Re: Static Optimization

Post by Hafizur Rahman » Mon Nov 07, 2016 1:37 pm

Hi James,

Thanks for your reply and suggestions. I will definitely go through the link you posted and let you know if I have problems on understanding that.

Previously, I did not add any actuators. Now, when I add reserve actuators for all coordinates and constraints (13 for coordinates and 13 for constraints) for shoulder abduction/adduction motion, it stopped at 71%. Before that time step, the performance and constraint violation were very low, and it suddenly stopped at 71%. Is it problem with that particular motion for which muscles are not activating? Here is the last part of message window:

***************************************************************************************************************************
time = 5.48 Performance =0.0950177 Constraint violation = 1.28229e-011

time = 5.5 Performance =0.019411 Constraint violation = 4.06643e-012

time = 5.52 Performance =0.115371 Constraint violation = 4.97688e-011

time = 5.54 Performance =0.134378 Constraint violation = 1.15503e-010

time = 5.56 Performance =0.00582816 Constraint violation = 2.10614e-012

time = 5.58 Performance =0.000878046 Constraint violation = 4.14665e-012

time = 5.6 Performance =0.121026 Constraint violation = 4.69645e-011

time = 5.62 Performance =0.136361 Constraint violation = 8.58956e-011

time = 5.64 Performance =0.0482138 Constraint violation = 3.76808e-011

time = 5.66 Performance =0.0439689 Constraint violation = 3.49784e-011

************************************************************************************************************************
Also, not sure how I can assess if the muscles are on bad parts of the force-length curve. When you said increase muscle strength, do you mean to increase "max isometric force"?

I would appreciate any kind of suggestions on these issues. Also, if it is better, I can attach osim, motion and setup files here.

Thanks,
Hafiz

POST REPLY