Static optimization and CMC

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Hang Xu
Posts: 26
Joined: Wed Aug 19, 2009 10:55 pm

Static optimization and CMC

Post by Hang Xu » Wed Feb 17, 2010 11:59 am

Hi,all
When I try to run static optimization step, the message always tell me
"The model appears too weak for static optimization.Try increasing the strength and/or range of the following actuator(s):bifemsh_l approaching upper bound of 1
iliacus_l approaching upper bound of 1
psoas_l approaching upper bound of 1
intobl_r approaching upper bound of 1
extobl_l approaching upper bound of 1"
what does this mean? my understanding is the forces reach the max but opensim still cannot find a solution, is that right? what can I do to deal with this problem except change the max value of each muscle.

the second problem I met is when I ran CMC, opensim indicated me that fast target failed, so I
changed to slow target. it can run but the motion is extremely distorted, even after I lock all the body parts, the result is the same.
so how to solve this problem? I noticed that all the steps include ID, OS, CMC use the motion file generated by IK. Does that mean perfect IK step can solve this problem?

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

RE: Static optimization and CMC

Post by Ayman Habib » Wed Feb 17, 2010 4:04 pm

Hang,

Static Optimization solves for activations. If these are close to 1.0 then you get the message. It could be many things but most commonly one of the following:
- The activity you're trying to solve requires a stronger model, in which case increasing the max-isometric-force for the indicated muscles would be justified (e.g. the model gait2354 that we distribute does OK on walking but not on more demanding activities)
- External forces not applied correctly which requires unjustified large muscle forces.
- Missing residuals at the base segment.

You can try running Inverse Dynamics and inspecting the results to figure which is the case.

Hope this helps,
-Ayman


User avatar
Hang Xu
Posts: 26
Joined: Wed Aug 19, 2009 10:55 pm

RE: Static optimization and CMC

Post by Hang Xu » Mon Feb 22, 2010 11:05 am

hi,Habib
Thank you for your ideas. do you have some ideas about my second problem of CMC?

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

RE: Static optimization and CMC

Post by Ayman Habib » Tue Feb 23, 2010 11:48 am

Hang,

Did you run RRA? How big were the residuals? and how was the kinematics. Surely a better IK solution would help but also RRA would give you an indication about how good is the experimental data and GRF you're trying to use.

Good luck,
-Ayman

User avatar
Hang Xu
Posts: 26
Joined: Wed Aug 19, 2009 10:55 pm

RE: Static optimization and CMC

Post by Hang Xu » Wed Feb 24, 2010 10:34 am

Hi,Habib
First,thanks for your help.
I should explain my situation clearly.I try to test a gait simulation like the example 2354. the only different is my model is go forward but 2354 seems walking in a place.
In fact, I check the ID and compared with example 2354 file. the scale of the values are almost same. But I don't know how to find the abnormal value.
For the IK. I inspected the record, the weight set is the same with 2354, and the part result like below:
Frame 7 (t=0.03): total weighted squared error = 0.0454223, marker error: RMS=0.036111, max=0.0702757 (R.Midfoot.Superior), coord error: RMS=2.81101e-006, max=5.5513e-006 (subtalar_angle_l)
Frame 8 (t=0.035): total weighted squared error = 0.0463252, marker error: RMS=0.0364298, max=0.0730258 (R.Midfoot.Superior), coord error: RMS=2.92291e-006, max=5.78625e-006 (subtalar_angle_l)
Frame 9 (t=0.04): total weighted squared error = 0.0470909, marker error: RMS=0.0367255, max=0.0756137 (R.Midfoot.Superior), coord error: RMS=2.99233e-006, max=5.93726e-006 (subtalar_angle_l)
Frame 10 (t=0.045): total weighted squared error = 0.0478232, marker error: RMS=0.0370414, max=0.0783998 (R.Midfoot.Superior), coord error: RMS=3.03538e-006, max=6.03428e-006 (subtalar_angle_l)
Frame 11 (t=0.05): total weighted squared error = 0.0484855, marker error: RMS=0.0373775, max=0.0813788 (R.Midfoot.Superior), coord error: RMS=3.01729e-006, max=6.00262e-006 (subtalar_angle_l)
Frame 12 (t=0.055): total weighted squared error = 0.0490113, marker error: RMS=0.037704, max=0.0842526 (R.Midfoot.Superior), coord error: RMS=2.97684e-006, max=5.92561e-006 (subtalar_angle_l)
Frame 13 (t=0.06): total weighted squared error = 0.0493644, marker error: RMS=0.0379931, max=0.0867715 (R.Midfoot.Superior), coord error: RMS=2.86812e-006, max=5.7178e-006 (subtalar_angle_l)
Frame 14 (t=0.065): total weighted squared error = 0.0495875, marker error: RMS=0.0382479, max=0.0889348 (R.Midfoot.Superior), coord error: RMS=2.71406e-006, max=5.41213e-006 (subtalar_angle_l)
Frame 15 (t=0.07): total weighted squared error = 0.0497212, marker error: RMS=0.0385032, max=0.0910219 (R.Midfoot.Superior), coord error: RMS=2.51672e-006, max=5.01943e-006 (subtalar_angle_l)
Frame 16 (t=0.075): total weighted squared error = 0.0497472, marker error: RMS=0.038757, max=0.0929781 (R.Midfoot.Superior), coord error: RMS=2.3069e-006, max=4.60402e-006 (subtalar_angle_l)
Frame 17 (t=0.08): total weighted squared error = 0.0496734, marker error: RMS=0.0389755, max=0.0945366 (R.Midfoot.Superior), coord error: RMS=2.02424e-006, max=4.04066e-006 (subtalar_angle_l)
I also compared it with 2354, the marker error and coord error are all in same order of magnitude.(the RMS=0.02 and max=0.06 in the example). If I want to improve the IK result, how can I do, I try to change the weight, but I didn't know the rule.
I ran the RRA. The part record is below:
requested COM adjustment time range 1.2 - 1.5 clamped to nearest available data times 1.2 - 1.5

Computing average residuals between 1.2 and 1.5
Average residuals before adjusting torso COM:
FX=4.89258 FY=5.95372 FZ=-2.18293
MX=-7.70293 MY=-2.98601 MZ=-25.2984

CMCTool.adjustCOMToReduceResiduals:
torso weight = 288.556
dx=-0.0876723, dz=0.0266947

dmass = -0.60711

Recommended mass adjustments:
ground: orig mass = 0, new mass = 0
pelvis: orig mass = 10.1217, new mass = 10.0266
femur_r: orig mass = 7.99406, new mass = 7.91893
tibia_r: orig mass = 3.1864, new mass = 3.15645
talus_r: orig mass = 0.0859447, new mass = 0.085137
calcn_r: orig mass = 1.07431, new mass = 1.06421
toes_r: orig mass = 0.186156, new mass = 0.184407
femur_l: orig mass = 7.99406, new mass = 7.91893
tibia_l: orig mass = 3.1864, new mass = 3.15645
talus_l: orig mass = 0.0859447, new mass = 0.085137
calcn_l: orig mass = 1.07431, new mass = 1.06421
toes_l: orig mass = 0.186156, new mass = 0.184407
torso: orig mass = 29.4245, new mass = 29.148

Computing average residuals between 1.2 and 1.5
Average residuals after adjusting torso COM:
FX=4.93206 FY=3.80924 FZ=0.317625
MX=0.846216 MY=-1.53532 MZ=-2.39234
...........
at the end
Average residuals:
FX=1.24718 FY=4.859 FZ=-0.377369
MX=0.872912 MY=-1.477 MZ=-2.72785


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

RE: Static optimization and CMC

Post by Ayman Habib » Fri Feb 26, 2010 5:35 pm

Dear Hang,

You can change the weights in the corresponding tasks file for the tool.

Nothing stands out as particularly off, so please report a bug and associate all needed models/data and setup files and we'll investigate.

-Ayman

User avatar
Hang Xu
Posts: 26
Joined: Wed Aug 19, 2009 10:55 pm

RE: Static optimization and CMC

Post by Hang Xu » Fri Feb 26, 2010 9:20 pm

Thank you.I find something you suggest us before doing the RRA and CMC.
2. Check your ground reaction force, does it align up with the correct time frame (you can read the mot file into matlab).
Do you have some materials that can tell me how to check GRF with matlab? Thank you very much!

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

RE: Static optimization and CMC

Post by Ayman Habib » Fri Feb 26, 2010 11:34 pm

Hang,

You can use the motion data previewer (release 1.9 or 2.0) to load and visualize the data in OpenSim (File->Preview Motion Data...)

-Ayman

POST REPLY