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?
Static optimization and CMC
- Ayman Habib
- Posts: 2255
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Static optimization and CMC
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
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
RE: Static optimization and CMC
hi,Habib
Thank you for your ideas. do you have some ideas about my second problem of CMC?
Thank you for your ideas. do you have some ideas about my second problem of CMC?
- Ayman Habib
- Posts: 2255
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Static optimization and CMC
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
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
RE: Static optimization and CMC
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
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
- Ayman Habib
- Posts: 2255
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Static optimization and CMC
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
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
RE: Static optimization and CMC
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!
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!
- Ayman Habib
- Posts: 2255
- Joined: Fri Apr 01, 2005 12:24 pm
RE: Static optimization and CMC
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
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