Scale/IK tool failing because of tolerance?

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Evan Dooley
Posts: 25
Joined: Fri Sep 27, 2019 8:36 am

Scale/IK tool failing because of tolerance?

Post by Evan Dooley » Thu Oct 01, 2020 8:04 am

Hello,

I am trying to change the marker set on an existing model because we would like to try a different model on data we have collected previously. When I open the model with the new marker set in the GUI all of the markers are in the correct locations and on the correct segments. I can then scale the model to the new marker set, but it fails if I try to adjust the markers in the scaled model. More specifically, if I try to run the inverse kinematics tool to see how well the scaling worked I get the following error:

Code: Select all

InverseKinematicsTool Failed: AssemblySolver::assemble() Failed: SimTK Exception thrown at Assembler.cpp:871:
  Method Assembler::assemble() failed because:
Optimizer failed with message: SimTK Exception thrown at InteriorPointOptimizer.cpp:264:
  Optimizer failed: Ipopt: Maximum iterations exceeded (status -1)
Assembly error tolerance achieved: 0.0023966439265220331 required: 1.0000000000000002e-06.
Has anyone else had this issue before? Is there something else I should be careful of as I adjust my marker set in my model?

Any insight you all have would be greatly appreciated.

Thanks,
EAD

Tags:

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

Re: Scale/IK tool failing because of tolerance?

Post by Ayman Habib » Thu Oct 01, 2020 11:43 am

Hello,

Assembly tolerance is an issue only if there are constraints in the model. The message indicates that in order to match marker trajectories, the model violates the assembly tolerance for the constraints. You may find out the issue by disabling the constraints, running IK and see which constraints are violated in the GUI, you may do that one constraint at a time if you have multiple to zone in on the offending constraint.

Hope this helps,
-Ayman

POST REPLY