Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Continuing inverse kinematics after IpOpt fails to achieve desired accuracy #3120

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

nishbo
Copy link

@nishbo nishbo commented Dec 28, 2021

Fixes issue #3119

Brief summary of changes

Added a flag (adaptiveAccuracy) and two parameters to InverseKinematicsToolBase that allow rerunning track on a frame with lower accuracy if the optimizer failed to converge.
Added another flag (ignoreConvergenceErrors) to InverseKinematicsToolBase that allows ignoring a convergence error during track() of a frame.
void AssemblySolver::track(SimTK::State &s) now throws a more comprehensive exception that can be traced, similar to void AssemblySolver::assemble(SimTK::State &state).

Testing I've completed

Running with flags turned off produces the same results as the default version. Ran tests with enabling each or both of the flags, behavior is similar (mean DOF angle difference ~ 1 degree).

Looking for feedback on the validity of this approach.

CHANGELOG.md (choose one)

Please tell me where to append a note of change.


This change is Reviewable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant