Inverse Kinematics won't run on a Scaled Model

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
Adam Galloy
Posts: 14
Joined: Fri May 12, 2017 11:09 am

Inverse Kinematics won't run on a Scaled Model

Post by Adam Galloy » Tue Jun 27, 2017 5:33 am

Hello,
I have been trying to run inverse kinematics on my scaled version of a model and it will not work. Oddly enough when the model is not scaled the inverse kinematics study runs but has large marker position errors. The error message I receive when I run IK with the scaled model is always this (though the tolerance I achieve changes depending on how I weight things):

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:261:
Optimizer failed: Ipopt: Maximum iterations exceeded (status -1)
Assembly error tolerance achieved: 0.0460375326058541 required: 1e-006.

Sometimes when I run the analysis with the right weights I can get a few frames into the coordinate data (max I have gotten is 14 frames) before the error message appears.

I have attached the files I have been using in a zipped folder. IK Settings2 6_22_2017.xml is the set of settings where I got the most frames to run.

What I have already tried:
I have iterated scaling repeatedly by changing the positions of markers on the generic model to match experimental data as best as I can.
I have tried to make sure the experimental data is facing the correct direction and is close to the origin. Rotation seems to give me bad scaling results. I don't know if displacement of marker data affects analysis though.
Using different weights for IK (and to a lesser extent scaling).
Attachments
OpenSim Help Folder.zip
(233.8 KiB) Downloaded 8 times

User avatar
Adam Galloy
Posts: 14
Joined: Fri May 12, 2017 11:09 am

Re: Inverse Kinematics won't run on a Scaled Model

Post by Adam Galloy » Tue Jun 27, 2017 5:37 am

I tried to include the model and geometry but it made the file to large. I have been using the Upper and Lower Body model based on Delp et al. and Holzbaur et al. A link is here to download it and the associated geometry files.

https://simtk.org/frs/?group_id=415

User avatar
Adam Galloy
Posts: 14
Joined: Fri May 12, 2017 11:09 am

Re: Inverse Kinematics won't run on a Scaled Model

Post by Adam Galloy » Tue Jun 27, 2017 8:29 am

Update: By locking the scaled model's subtalar and mtp angle I was able to get the IK to run completely. I am still not completely sure why the generic model works without the locking. I would also still like to know any other tips anyone has about this issue that may help me out more.

Thanks,
Adam Galloy

User avatar
Thomas Uchida
Posts: 1777
Joined: Wed May 16, 2012 11:40 am

Re: Inverse Kinematics won't run on a Scaled Model

Post by Thomas Uchida » Tue Jun 27, 2017 12:24 pm

By locking the scaled model's subtalar and mtp angle I was able to get the IK to run completely. I am still not completely sure why the generic model works without the locking. I would also still like to know any other tips anyone has about this issue that may help me out more.
There are tips in the Confluence documentation (e.g., see the "Best Practices and Troubleshooting" section on the "Getting Started with Scaling" page here: http://simtk-confluence.stanford.edu:80 ... leshooting). You may also find this "OpenSim Webinar: Tips and Tricks for Data Collection, Scaling and Inverse Kinematics in OpenSim" YouTube video helpful: https://www.youtube.com/watch?v=ZG7wzvQC6eU.

POST REPLY