Hello Michael,
Yes, I did modify them but fast mode target still can't be performed.
I fixed pelvis, lumbar and translation of crank. CMC still crushed. Then, I tried to reduce freedom of the model so what I did was: adding the motion, and then lock some freedom like mtp_angle, subtalar_angle, knee_adduction but the Messages panel showed me this:
Model unable to assemble: AssemblySolver::assemble() Failed: SimTK Exception thrown at Assembler.cpp:842:
Method Assembler::assemble() failed because:
Optimizer failed with message: SimTK Exception thrown at InteriorPointOptimizer.cpp:261:
Optimizer failed: Ipopt:
Restoration failed (status -2)
Assembly error tolerance achieved: 1.66533453693773e-016 required: 1e-009.
I do not know how to solve this restoration failing but I am looking into it. In the mean time, can you give me some advise on this when you at your best convenience??
when I switch back to slow target mode to run it, it still failed and the message is:
Setting optimizer print level to 0.
Setting optimizer convergence tolerance to 0.0001.
Setting optimizer maximum iterations to 5000.
Setting cmc controller to not use verbose printing.
Computing initial values for muscles states (activation, length)
Start time = Sat Nov 23 00:41:51 2013
CMC.computeControls: t = 0.04
CMC.computeControls: t = 0.04
SimTK Exception thrown at InteriorPointOptimizer.cpp:261:
Optimizer failed: Ipopt: Maximum iterations exceeded (status -1)
OPTIMIZATION FAILED...
CMC.computeControls: WARN- The optimizer could not find a solution at time = 0.040000.
If using the fast target, try using the slow target.
Starting at a slightly different initial time may also help.
I really appreciate your help.
Vincent
sherm wrote:You mentioned:"Dimensions would need to be specified accurate to double precision, say 15 decimal places."
may I ask how to set to double precision (15 decimal)?? can you explain a little bit more?
What I mean is that in the ".osim" file where the model is defined, there are many numbers such as the locations of joints and constraints. These numbers represent lengths and angles. In an open-topology system any set of numbers represents a valid model. But in a closed-topology system there can be interrelationships among the dimensions -- for example, if you form a loop then the orientations and lengths must be such that you can actually satisfy the loop constraint. So the accuracy with which you must define your model dimensions is much more strict for closed-topology systems.
So however you calculated the dimensions in your .osim file, if you rounded off to 6 decimal places (for example) that might not be enough to satisfy the loop closure constraints to 9 decimal places. Instead, if you calculate all the dimensions to 15 decimal places and put all 15 in the .osim file, you could achieve a more precise assembly tolerance.