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

Improve tolerance at fully extended configurations #69

Open
gkjohnson opened this issue Dec 31, 2020 · 1 comment
Open

Improve tolerance at fully extended configurations #69

gkjohnson opened this issue Dec 31, 2020 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@gkjohnson
Copy link
Owner

Once a system has been fully extended like the following it can get "stuck" in that pose with any attempt to solve resulting in divergence because moving one of the fully extended joints even a small amount will result in it diverging before it converges.

Some things to look in to:

  • Find joint angles that cause these fully extended configurations (the angles that cause two connected links to be parallel) and avoid them.
  • Adjust the angles of the extended joints if they happen to be parallel and the solve diverged. Or adjust all angles to afford more "slack" in the system.
  • Analyze the resulting joint deltas to see if we can adjust certain joints based on that.

image

@gkjohnson gkjohnson added the enhancement New feature or request label Dec 31, 2020
@gkjohnson gkjohnson added this to the v0.0.4 milestone Dec 31, 2020
@gkjohnson
Copy link
Owner Author

gkjohnson commented Dec 31, 2020

Taking a step towards a known good pose like the rest pose before solve seems to alleviate this issue a bit but can cause jumping when full extended as the solve diverges and resets the previous position and another step is taken the next frame. Perhaps the step can be undone if the solve diverges?

EDIT: Only setting the angles if the solution CONVERGES seems to be a good compromise. It lets the IK solution thrash around but only applies valid angles to visible model

@gkjohnson gkjohnson modified the milestones: v0.0.4, v0.0.5 Jan 1, 2021
@gkjohnson gkjohnson modified the milestones: v0.0.4, v0.0.5 Nov 21, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant